Unit of work

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

A unit of work[1] is a behavioral pattern in software development. Martin Fowler has defined it as everything one does during a business transaction which can affect the database.[2] When the unit of work is finished, it will provide everything that needs to be done to change the database as a result of the work.[2]

A unit of work encapsulates one or more code repositories[de] and a list of actions to be performed which are necessary for the successful implementation of self-contained and consistent data change. A unit of work is also responsible for handling concurrency issues,[3][4] and can be used for transactions[3][4] and stability patterns.[de][5]

See also

[edit | edit source]
  • ACID (atomicity, consistency, isolation, durability), a set of properties of database transactions
  • Database transaction, a unit of work within a database management system
  • Equi-join, a type of join where only equal signs are used in the join predicate
  • Lossless join decomposition, decomposition of a relation such that a natural join of the resulting relations yields back the original relation

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).