Project Description
Domain-Driver is a generic framework that enables developers to quickly build rich, expressive domain models.

It is both "decoupled from" and "compatible with" any persistence technology. The download includes an example using ADO .NET Entities Framework Code-First persistence.

Value Proposition
For developers who build line-of-business applications requiring complex domain logic, the Domain-Driver Framework offers the unique opportunity to craft rich, cohesive, well-structured domain models that are totally independent of any persistence technology.

To be clear, the same exact domain model can be persisted to a database, dataset, xml file, or web service without affecting the way that your User-Interface code interacts with the domain model. The user interacts with POCOs via Repository instances, and each repository contains an instance of a StorageManager that handles the details of translating the POCO to the desired storage technology.

Our source code includes 3 different storage strategies: 1) TransientStorageManager (operates as an in-memory database), 2) DataSetStorageManager (adds the ability to persist the entire model to a DataSet that can then be saved as a file), and 3) EntitiesFrameworkStorageManager (operates as an adapter for a ADO .NET Entities Framework System.Data.Entity.DbContext).

Since this clear wall of abstraction naturally requires a code-first mentality, our framework is perfectly suited to be used in concert with the Code-First functionality of ADO .NET Entity Framework. To clarify the integration, our AutomotivePricingDomainModel provides an example of how to persists the model using the Entity Framework.

The Domain-Driver code and sample model are available from the "Downloads" or "Source Code" tabs.

Last edited Feb 24, 2012 at 10:05 PM by ryanse, version 12