domain-driven-design

Domain Driven Design: Aggregate roots which large collections

Hi all, I was wondering how I would handle aggregate roots that contain collections with alot of entities. Like: public class AggregateRoot { public ICollection<Child> Children { get; set; } // 10.000 entities } How would I query the child collection to get specific children? I am using Nhibernate btw. ...

What's an Exclusivity Arc called in UML

Here's an example of what an Exclusivity Arc is (the green arc); what it's saying is that a Plane can have either Propellers or Jet Engines - but not both. In Barker ER notation, an exclusion constraint over two or more roles is shown as an “exclusive arc” connected to the roles with a small dot or circle. see http://www.o...

How to pass Current User Information to all Layers in DDD

Hello, Similar questions have been asked before but not quite the same (unless I missed it) I want to pass IUserInfo class instance through my Service, Domain , Domain Events, Domain Event Handlers... Whats is the best way to do it. Should I Inject it using IoC by registering it against instance of Httpcontext.Current.session["Cu...

ASP.net, retreive domain name /path

I need to fetch the domain name and path from the request to provide the following return values: domain1.com/default.aspx returns domain1.com/default.aspx domain1.com/ returns domain1.com/ domain1.com returns domain1.com At the moment every URL fetch function I try seems to return doma...

Static Methods : When and when not

I am new to TDD and DDD and I have one simple question regarding static methods in general. Most of the gurus of TDD says in one word that static methods are bad (and that we should forget about creating tons of static utilities that we (um or I) used to make before as they are not testable. I can see why they are not testable ( a great ...

Aggregate Root question

Hi all, in one of my project I have a Garage class. This class contains many collections, like Addresses, BankAccounts, Memberships, etc. All these collection classes have a validity. Meaning that an address can be valid in a period of time specified by a user. New addresses or bank accounts can be added, but the validity period is no...

Is it proper TDD practice to design your model before you write tests, or write tests that design your model?

I am building a DDD system and we have all the requirements on paper for the system already set. There is a disagreement on how we go about building our domain model that I need an opinion on. My preference is to take the requirements and sketch out a basic domain model with the outline for the classes, their properties and behaviors a...

Domain Driven Design: Should Repository methods be passed a configuration string?

I have seen this both ways. When writing a Repository, should the methoods be passed in a connection string or should the repositpry be "self-contained", in other words, know internally how to get to the database? In case it helps, my Repository is not true DDD, but is the Repository pattern surrounding methods that call Oracle SPs (that...

Python validation API

I'm looking for a Python (<3) validation API something like Java's Bean Validation or Spring validation. I'm not looking for a library that is limited to form validation, since I want to validate domain objects. Do you know a Python API for validating of domain objects? ...

JPA & DDD: how to implement side effects of entity deletes and inserts

I am building an application under DDD architecture, thus I have implemented rich domain objects that can also be entities. These entities can also have full access to (injected) repositories that can do add & remove operations on other objects/entities. So far, this all works without any problems. But can side effects for objects/entit...

Where does my DDD logic belong?

I’ve been persuaded by Eric Evans’ book and am integrating DDD into my framework. All basic elements (services, repositories, bounded contexts, etc) have been implemented and now I’m looking for feedback on how to correctly integrate this. I have some business logic which has to be performed when an entity is created or modified. This e...

DDD Architecture for ASP.NET MVC2 Project

I am trying to use Domain Driven Development (DDD) for my new ASP.NET MVC2 project with Entity Framework 4. After doing some research I came up with the following layer conventions with each layer in its own class project: MyCompany.Domain public class User { //Contains all the properties for the user entity } ...

Sorting data when doing Domain Driven Development

While developing my data model I didn't pay attention to the underlying database level. I encapsulated some logic in my domain classes' properties (example: method that counts order's profit). It all works well until I need to sort data. Sorting is a purely database feature (mainly because of performance i can't retrieve all rows from ta...

Event Sourcing and Read Model generation

Assuming Stack Overflow domain problem and the following definition of events: UserRegistered(UserId, Name, Email) UserNameChanged(UserId, Name) QuestionAsked(UserId, QuestionId, Title, Question) Assuming the following state of event store (in the order of appearance): 1) UserRegistered(1, "John", "[email protected]") 2) UserNameChanged...