SlideShare a Scribd company logo
Domain Driven Design With Entity Framework 4.0 Presented By: Muhammad Moussa Mohamed R. Samy 1
Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 2
What is Domain Driven Design? 3
Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 4
Layered architecture in Domain-Driven Design 5
Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 6
Developer & Domain Expert Show 7
Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 8
Domain Driven Design building blocks at glance 9
Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 10
Building Domain Model with EF 4.0 Model First 11
Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 12
Building Domain Repositories with EF 4.0 13
Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 14
Building Domain Services 15
Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 16
Verify domain model with unit tests 17

More Related Content

Similar to Domain Driven Design

Lap Around Entity Framework
Lap Around Entity FrameworkLap Around Entity Framework
Lap Around Entity FrameworkJaliya Udagedara
 
Lap Around Entity Framework
Lap Around Entity FrameworkLap Around Entity Framework
Lap Around Entity FrameworkJaliya Udagedara
 
My Set Focus .Net Portfolio
My Set Focus .Net PortfolioMy Set Focus .Net Portfolio
My Set Focus .Net PortfolioPemby
 
Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013Thomas Daly
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17Phil Wilkins
 
Domain Driven Design Up And Running
Domain Driven Design Up And RunningDomain Driven Design Up And Running
Domain Driven Design Up And RunningIASA
 
BlackBerry10: "Built For BlackBerry (BFB)"
BlackBerry10: "Built For BlackBerry (BFB)"BlackBerry10: "Built For BlackBerry (BFB)"
BlackBerry10: "Built For BlackBerry (BFB)"Dr. Ranbijay Kumar
 
.NET Core: Everything You Need to Know
.NET Core: Everything You Need to Know .NET Core: Everything You Need to Know
.NET Core: Everything You Need to Know Capital Numbers
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEric Overfield
 
MS windows server 2008 - Designing a windows server 2008 active directory inf...
MS windows server 2008 - Designing a windows server 2008 active directory inf...MS windows server 2008 - Designing a windows server 2008 active directory inf...
MS windows server 2008 - Designing a windows server 2008 active directory inf...LEN Learning Education Network
 
Getting Started with .NET
Getting Started with .NETGetting Started with .NET
Getting Started with .NETLearnNowOnline
 
EF Core 1: News features and changes
EF Core 1: News features and changesEF Core 1: News features and changes
EF Core 1: News features and changesManfred Steyer
 
API Workshop Amsterdam presented by API Architect Ronnie Mitra
API Workshop Amsterdam presented by API Architect Ronnie MitraAPI Workshop Amsterdam presented by API Architect Ronnie Mitra
API Workshop Amsterdam presented by API Architect Ronnie MitraCA API Management
 
Dimensional Design Inc. of Atlanta, Georgia
Dimensional Design Inc. of Atlanta, GeorgiaDimensional Design Inc. of Atlanta, Georgia
Dimensional Design Inc. of Atlanta, GeorgiaDimensional Design
 
SharePoint 2013 Design manager – from HTML to SharePoint
SharePoint 2013 Design manager – from HTML to SharePointSharePoint 2013 Design manager – from HTML to SharePoint
SharePoint 2013 Design manager – from HTML to SharePointEric Overfield
 
Why Codeigniter Development Services are preferred?
Why Codeigniter Development Services are preferred?Why Codeigniter Development Services are preferred?
Why Codeigniter Development Services are preferred?NCode Technologies Inc.
 
Armada Preso
Armada PresoArmada Preso
Armada PresoAlex Li
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEric Overfield
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space DemoBoyd Hemphill
 

Similar to Domain Driven Design (20)

Lap Around Entity Framework
Lap Around Entity FrameworkLap Around Entity Framework
Lap Around Entity Framework
 
Lap Around Entity Framework
Lap Around Entity FrameworkLap Around Entity Framework
Lap Around Entity Framework
 
My Set Focus .Net Portfolio
My Set Focus .Net PortfolioMy Set Focus .Net Portfolio
My Set Focus .Net Portfolio
 
Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17
 
Domain Driven Design Up And Running
Domain Driven Design Up And RunningDomain Driven Design Up And Running
Domain Driven Design Up And Running
 
BlackBerry10: "Built For BlackBerry (BFB)"
BlackBerry10: "Built For BlackBerry (BFB)"BlackBerry10: "Built For BlackBerry (BFB)"
BlackBerry10: "Built For BlackBerry (BFB)"
 
.NET Core: Everything You Need to Know
.NET Core: Everything You Need to Know .NET Core: Everything You Need to Know
.NET Core: Everything You Need to Know
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web Design
 
MS windows server 2008 - Designing a windows server 2008 active directory inf...
MS windows server 2008 - Designing a windows server 2008 active directory inf...MS windows server 2008 - Designing a windows server 2008 active directory inf...
MS windows server 2008 - Designing a windows server 2008 active directory inf...
 
Getting Started with .NET
Getting Started with .NETGetting Started with .NET
Getting Started with .NET
 
EF Core 1: News features and changes
EF Core 1: News features and changesEF Core 1: News features and changes
EF Core 1: News features and changes
 
API Workshop Amsterdam presented by API Architect Ronnie Mitra
API Workshop Amsterdam presented by API Architect Ronnie MitraAPI Workshop Amsterdam presented by API Architect Ronnie Mitra
API Workshop Amsterdam presented by API Architect Ronnie Mitra
 
Dimensional Design Inc. of Atlanta, Georgia
Dimensional Design Inc. of Atlanta, GeorgiaDimensional Design Inc. of Atlanta, Georgia
Dimensional Design Inc. of Atlanta, Georgia
 
SharePoint 2013 Design manager – from HTML to SharePoint
SharePoint 2013 Design manager – from HTML to SharePointSharePoint 2013 Design manager – from HTML to SharePoint
SharePoint 2013 Design manager – from HTML to SharePoint
 
Why Codeigniter Development Services are preferred?
Why Codeigniter Development Services are preferred?Why Codeigniter Development Services are preferred?
Why Codeigniter Development Services are preferred?
 
Armada Preso
Armada PresoArmada Preso
Armada Preso
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web Design
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space Demo
 
sql1
sql1sql1
sql1
 

More from Mohamed Samy

Continuous Integration using TFS
Continuous Integration using TFSContinuous Integration using TFS
Continuous Integration using TFSMohamed Samy
 
Making a Career in I.T. my 2 cents :)
Making a Career in I.T. my 2 cents :)Making a Career in I.T. my 2 cents :)
Making a Career in I.T. my 2 cents :)Mohamed Samy
 
Introducing Windows Azure
Introducing Windows Azure Introducing Windows Azure
Introducing Windows Azure Mohamed Samy
 
Patterns&Antipatternsof SOA
Patterns&Antipatternsof SOAPatterns&Antipatternsof SOA
Patterns&Antipatternsof SOAMohamed Samy
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsMohamed Samy
 
Whitepaper On Agile Implementation Outline
Whitepaper On Agile Implementation OutlineWhitepaper On Agile Implementation Outline
Whitepaper On Agile Implementation OutlineMohamed Samy
 
Microsft Dynamics AX Introduction
Microsft Dynamics AX IntroductionMicrosft Dynamics AX Introduction
Microsft Dynamics AX IntroductionMohamed Samy
 

More from Mohamed Samy (7)

Continuous Integration using TFS
Continuous Integration using TFSContinuous Integration using TFS
Continuous Integration using TFS
 
Making a Career in I.T. my 2 cents :)
Making a Career in I.T. my 2 cents :)Making a Career in I.T. my 2 cents :)
Making a Career in I.T. my 2 cents :)
 
Introducing Windows Azure
Introducing Windows Azure Introducing Windows Azure
Introducing Windows Azure
 
Patterns&Antipatternsof SOA
Patterns&Antipatternsof SOAPatterns&Antipatternsof SOA
Patterns&Antipatternsof SOA
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using Vsts
 
Whitepaper On Agile Implementation Outline
Whitepaper On Agile Implementation OutlineWhitepaper On Agile Implementation Outline
Whitepaper On Agile Implementation Outline
 
Microsft Dynamics AX Introduction
Microsft Dynamics AX IntroductionMicrosft Dynamics AX Introduction
Microsft Dynamics AX Introduction
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 

Domain Driven Design

  • 1. Domain Driven Design With Entity Framework 4.0 Presented By: Muhammad Moussa Mohamed R. Samy 1
  • 2. Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 2
  • 3. What is Domain Driven Design? 3
  • 4. Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 4
  • 5. Layered architecture in Domain-Driven Design 5
  • 6. Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 6
  • 7. Developer & Domain Expert Show 7
  • 8. Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 8
  • 9. Domain Driven Design building blocks at glance 9
  • 10. Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 10
  • 11. Building Domain Model with EF 4.0 Model First 11
  • 12. Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 12
  • 14. Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 14
  • 16. Agenda What is Domain Driven Design? Layered architecture in Domain-Driven Design Developer & Domain Expert Show Domain Driven Design building blocks at glance Building Domain Model with EF 4.0 Model First Building Domain Repositories with EF 4.0 Building Domain Services Verifying domain with Unit Tests 16
  • 17. Verify domain model with unit tests 17

Editor's Notes

  1. Reference:http://ajlopez.wordpress.com/2008/09/12/layered-architecture-in-domain-driven-design/Evans writes:For a shipping application to support the simple user act of selecting a cargo’s destination from a list of cities, there must be program code that (1) draws a widget on the screen, (2) queries the database for all the possible cities, (3) interprets the user’s input and validates it, (4) associates the selected city with the cargo, and (5) commits the change to the database. All of this code is part of the same program, but only a little of it is related to the business of shipping.He proposes that the domain model resides in a layer, the Domain Layer. In this way, the domain model is protected from technicalities as concrete persistence implementation, and presentation duties. I like to say that the domain is as an organism, that receives stimula, actions from the outside, and reacts to such commands. The domain should run without detailed knowledge of the rest of the application. Serialization between physical tiers, presentation details and database access, should be clearly separated from the domain implementation.The layers could be described as:UI (User Interface): the easiest to understand, this layer is the responsible of displaying information to the user, and accept new data. It could be implemented for web, desktop, or any presentation technology, present or future. For example, it could be a voice application, that interacts with the user via a phone. The acid test for our design is that a radical change in user interface should have minimal (or controled, at least) impact in the rest of the system.Application Layer: it’s in charge of coordinating the actions to be performed on the domain. There are no business rules or domain knowledge here. No business state resides in this layer. It delegates all domain actions to the domain. It could coordinate many actions (possibly in many domains). It could prepare the infrastructure to be ready to work with the domain for an specific action (for example, preparing transaction scopes).Domain Layer: In this layer resides the heart of software, according to Evans. Business rules and logic lives inside this layer. Business entity state and behavior is defined and used here. Communication with other systems, persistence details, are forwarded to the infrastructure layer. Evans discuss the patterns he uses in this layer, as Entities, Value Objects, Services, Repositories and Factories. We would explore the patterns and implementations in future posts.Infrastructure Layer: God and devil are in the details, and in the infrastructure layer. Its main responsibility is the persistence of the business state, most frequently, using a relational database.