web 2.0

III. EF Model as a starting point of development

Doménový model

EF Data model

If you are familiar with MDA, then you would maybe welcome this scenario, where you create a PIM and PSM with source code are then generated according to specified technology and platform.

However, Entity Framework is not about UML modelling of PIM, but has features to easily create entities, associations and inheritance between them in .NET solutions.

You are able to generate DDL schema for database you choose and C# or VB code of entities is generated, as well. So you can look on EF as an OR/M solution, as a tool to create your Data Model or to be a starting point for Domain Model with specific domain/business logic implemented in partial classes.

Continue reading »

Domain-driven design books

Domain model is a pattern for an object-oriented approach for organizing business logic.
Let me introduce you 2 books which deal with this pattern, previously briefly described in the P of EAA book written by Martin Fowler.

Domain-driven design

Domain-driven design

Domain-Driven Design: Tackling Complexity in the Heart of Software

The book offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development.

from the back cover

Applying DDD and patterns

Applying DDD

Applying Domain-Driven Design and Patterns: With Examples in C# and .NET

Applying Domain-Driven Design and Patterns is the first complete, practical guide to leveraging patterns, domain-driven design, and test-driven development in .NET environments. Drawing on seminal work by Martin Fowler and Eric Evans, Jimmy Nilsson shows how to customize real-world architectures for any .NET application. You’ll learn how to prepare domain models for application infrastructure; support business rules; provide persistence support; plan for the presentation layer and UI testing; and design for service orientation or aspect orientation.

description of the book at Amazon