Recently, we had a presentation at my workplace about Domain-Driven Design concepts, given by my team member. He tried to explain the main thoughts behind it and gave some real world examples to make it easier for the spectators to grasp them. After the presentation, I’ve noticed some confusion among the audience about actual usage … More Does DDD promote large Aggregates?
I’ve been successfully using NHibernate as my first ORM for a few years. The complex mappings seemed like a bit of overhead initially, but after a slow start, the flexibility available usually paid off later. A few attempts to use Entity Framework for new projects ended up with me switching back to NHibernate, since EF … More A year with Entity Framework
Consider the following requirement, that is quite common for many systems: When a user changes his email address, he should receive an email with a confirmation link. The “user” will probably be an aggregate root in our domain and have an attribute for its email. Code for sending an email, however, is not a responsibility … More Domain Events and non-transactional behavior
The problem In your domain model, you often need to pass the same repetetive information to your domain entities or value objects. An example of this is a multi-tenant domain, where tenant ID appears in many places. A username might be needed if you need to track authors of changes to entities and it’s not … More Domain Context pattern
In Choosing a free embedded database I wrote that I searched for an embedded database with Stored Procedure support. At that time, I was all new in SQL and databases in general and viewed Stored Procedures as the best way to work with databases. My opinion has changed over the (almost) two years, however. This … More Stored Procedures – another look
If you are familiar with Domain Driven Design concepts, you probably know what a Value Object is. For those who don’t, Value Objects are objects, that describe things but have no identity, as opposed to Entities. It is also recommended that Value Object are immutable, which means that they are created with constructors and never … More Xml serializing immutable objects