@Basilevs - The idea is to design aggregates so that they reflect the domain, and support the usage patterns in that domain (like, taking into consideration what commonly needs concurrent access by users, what doesn't, etc). You might need to collect data on that first (say by leveraging domain expert experience, or by running some initial version of the system in production). But of course, you cannot completely ignore technical constraints, for performance or other reasons. And you might have more or less freedom there depending on how picky the frameworks you are using are. 1/2
↧