O'Reilly logo
  • Louis Cribbins thinks this is interesting:

Leave transaction control to the client. Although the REPOSITORY will insert into and delete from the database, it will ordinarily not commit anything. It is tempting to commit after saving, for example, but the client presumably has the context to correctly initiate and commit units of work. Transaction management will be simpler if the REPOSITORY keeps its hands off.


Cover of Domain-Driven Design: Tackling Complexity in the Heart of Software


For OnBalance, that means that ISession management is not the responsibility of the Repository class.