# Domain Model ## πŸ“• Articles - [Always-Valid Domain Model](https://enterprisecraftsmanship.com/posts/always-valid-domain-model/) - [Domain Model Encapsulation and PI with Entity Framework 2.2](http://www.kamilgrzybek.com/design/domain-model-encapsulation-and-pi-with-entity-framework-2-2/) - [Attributes of Clean Domain Model](http://www.kamilgrzybek.com/design/clean-domain-model-attributes/) - [Are CQRS commands part of the domain model?](https://enterprisecraftsmanship.com/2019/01/31/cqrs-commands-part-domain-model/) - [Domain model purity vs. domain model completeness](https://enterprisecraftsmanship.com/posts/domain-model-purity-completeness/) - [Design validations in the domain model layer](https://docs.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/domain-model-layer-validations) - [Seedwork (reusable base classes and interfaces for your domain model)](https://docs.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/seedwork-domain-model-base-classes-interfaces) - [Implement a microservice domain model with .NET](https://docs.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/net-core-microservice-domain-model) - [Domain Command Patterns - Validation](https://jimmybogard.com/domain-command-patterns-validation/) - [Domain Command Patterns - Handlers](https://jimmybogard.com/domain-command-patterns-handlers/) - [Attributes of Clean Domain Model](https://www.kamilgrzybek.com/design/clean-domain-model-attributes/) - [Domain Model Encapsulation and PI with Entity Framework 2.2](https://www.kamilgrzybek.com/design/domain-model-encapsulation-and-pi-with-entity-framework-2-2/) - [Strengthening your domain: a primer](https://lostechies.com/jimmybogard/2010/02/04/strengthening-your-domain-a-primer/) - [Persistence model and domain anemia](https://lostechies.com/blogs/jimmy_bogard/archive/2009/12/03/persistence-model-and-domain-anemia.aspx) - [The Anemic Domain Model Pattern](http://codebetter.com/gregyoung/2009/07/15/the-anemic-domain-model-pattern/) - [Strengthening your domain: Aggregate Construction](https://lostechies.com/jimmybogard/2010/02/24/strengthening-your-domain-aggregate-construction/) - [How to create fully encapsulated Domain Models](https://udidahan.com/2008/02/29/how-to-create-fully-encapsulated-domain-models/) - [Strategic DDD β€” Distilling the problem domain](https://afedyanin.wordpress.com/2016/05/17/distilling-the-problem-domain/) - [Strategic DDD β€” Focusing on the Core Domain](https://afedyanin.wordpress.com/2016/05/18/focusing-on-the-core-domain/) - [How to know if your Domain model is properly isolated?](https://enterprisecraftsmanship.com/posts/how-to-know-if-your-domain-model-is-properly-isolated/) - [Domain model isolation](https://enterprisecraftsmanship.com/posts/domain-model-isolation/) - [Strengthening your domain: Encapsulating operations](https://lostechies.com/jimmybogard/2010/03/24/strengthening-your-domain-encapsulating-operations/) - [How to know if your Domain model is properly isolated?](https://enterprisecraftsmanship.com/posts/immutable-architecture/) - [Domain services vs Application services](https://enterprisecraftsmanship.com/posts/domain-vs-application-services/) - [What is domain logic?](https://enterprisecraftsmanship.com/2016/08/25/what-is-domain-logic/) - [Domain model purity and lazy loading](https://enterprisecraftsmanship.com/posts/domain-model-purity-lazy-loading/) - [Change Tracking while doing DDD](https://www.ledjonbehluli.com/posts/change_tracking_ddd/) - [Referencing external libraries from the domain model](https://www.getdrip.com/deliveries/owp2b8gphp8iwhi66vtj?view_in_browser=true&__s=fk6miphh1sspz3nnxtpu) - [Having the domain model separated from the persistence model](https://enterprisecraftsmanship.com/posts/having-the-domain-model-separate-from-the-persistence-model/) - [EF Core 2.1 vs NHibernate 5.1: DDD perspective](https://enterprisecraftsmanship.com/posts/ef-core-vs-nhibernate-ddd-perspective/) - [Link to an aggregate: reference or Id?](https://enterprisecraftsmanship.com/2016/03/08/link-to-an-aggregate-reference-or-id/) - [Entities, Value Objects, Aggregates and Roots](https://lostechies.com/jimmybogard/2008/05/21/entities-value-objects-aggregates-and-roots/) - [Using Factory method instead of Constuctor](https://github.com/kgrzybek/modular-monolith-with-ddd/discussions/214) - [Notes about C# records and Nullable Reference Types](https://event-driven.io/en/notes_about_csharp_records_and_nullable_reference_types/) - [Don’t Create Aggregate Roots](https://udidahan.com/2009/06/29/dont-create-aggregate-roots/) - [Practical DDD in Golang: Entity](https://levelup.gitconnected.com/practical-ddd-in-golang-entity-40d32bdad2a3) - [Avoid Exposing Collections Directly as Properties](https://ardalis.com/avoid-collections-as-properties/?utm_sq=grcpqjyka3) - [Design a No Duplicates Rule in your Domain Model?](https://ardalis.com/design-no-duplicates-rule-in-domain-model/?utm_sq=gz8joz8bw5) - [Domain Modeling Heuristics #1: I See Users Everywhere!](https://www.jamesmichaelhickey.com/i-see-users-everywhere/) - [Entity Best Practices & Conventions - ABP](https://docs.abp.io/en/abp/latest/Best-Practices/Entities) - [Entities - ABP](https://docs.abp.io/en/abp/latest/Entities) - [DDD: Domain Entities](https://mbarkt3sto.hashnode.dev/ddd-domain-entities) ## πŸ“Ί Videos - [AVOID Entity Services by Focusing on Capabilities](https://www.youtube.com/watch?v=2gOOstEI4vU) - [ALWAYS Valid Domain Model](https://www.youtube.com/watch?v=JZetlRXdYeI) - [Domain Logic: Where does it go?](https://www.youtube.com/watch?v=PrJIMTZsbDw) - [Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019](https://www.youtube.com/watch?v=2JB1_e5wZmU)