Unit of Work
Eine Unit of Work (kurz UoW) ist ein Verhaltensmuster in der Softwareentwicklung.[1]
“A Unit of Work keeps track of everything you do during a business transaction that can affect the database. When you’re done, it figures out everything that needs to be done to alter the database as a result of your work.”
„Ein Unit of Work verfolgt alle Änderungen, welche Sie während einer Business-Transaktion durchführen, welche sich auf die Datenbank auswirken können. Wenn Sie fertig sind, stellt es fest was gemacht werden muss, um die Datenbank als Ergebnis dieser Änderungen zu ändern.“
Eine UoW kapselt hierbei ein oder mehrere Repositories und eine Liste von auszuführenden Aktionen, welche für die erfolgreiche Durchführung einer, in sich abgeschlossenen und konsistenten, Datenveränderung nötig sind.[1][2][3] Eine UoW ist zudem dafür verantwortlich, dass Probleme durch Nebenläufigkeit behandelt werden,[2][3] wozu sie Transaktionen[2][3] und Stabilitätsmuster[4] verwenden kann.
Einzelnachweise
- Martin Fowler: Patterns of Enterprise Application Architecture. Addison-Wesley-Longman, Amsterdam 2002, ISBN 0-321-12742-0.
- Martin Fowler: Unit of Work. Abgerufen am 8. März 2018 (englisch).
- Unit of Work. In: Portland Pattern Repository. Abgerufen am 8. März 2018 (englisch).
- Michael T. Nygard: Release It! Design and Deploy Production-Ready Software. O’Reilly, 2007, ISBN 978-0-9787392-1-8 (englisch, 326 S.).