The architecture has its merits (reads are using repos directly, writes are using services) and it's quite easy to understand. Seeing Expressions in the specifications classes it's quite obvious that the ORM in use is EF without having a look at the repository implementation. No way it would be implemented like this using Dapper for example. So imo write side is nice, on the read side I don't like the specifications, especially the leaky abstraction of EF through Expressions
Specifications are awesome! Long ago I was using callback delegates for on the fly specifications but it always felt wrong and worse bad pattern and even harder to explain to developers but it got the job done for small projects... this solves a ton of issues people have with domain driven architecture
Currently trying to implement this pattern on a side project. Really like how elegant it is. Thanks for sharing.
The architecture has its merits (reads are using repos directly, writes are using services) and it's quite easy to understand. Seeing Expressions in the specifications classes it's quite obvious that the ORM in use is EF without having a look at the repository implementation. No way it would be implemented like this using Dapper for example. So imo write side is nice, on the read side I don't like the specifications, especially the leaky abstraction of EF through Expressions
Specifications are awesome! Long ago I was using callback delegates for on the fly specifications but it always felt wrong and worse bad pattern and even harder to explain to developers but it got the job done for small projects... this solves a ton of issues people have with domain driven architecture
Neat explanation. Also nice to hear why the folder structure and layers are like that.
Specification is just a rewriting of the predicate and include parameters thats already in EF
Great presentation!
Great presentation
Awesome video
Awesome! Very elegant.