SlideShare a Scribd company logo
An introduction to DDD and Frameworks
Agenda
 Overview
 DDD Basis (UL, Entity, AR, VO, Services, Repositories,
    Factories)
   DDD Advanced (Techniques, Anticorruption)
   Domain Model Examples
   DDD Architecture Styles (Layered, CQRS)
   Frameworks (NCQRS, Apworks)
   Apworks Demonstration
   References
Overview
 DDD is an approach to develop software for complex
    needs
   Placing the primary focus on the core domain & its
    logic
   Basing complex designs on a model
   Initiating a creative collaboration between technical
    and domain experts on the heart of the problem
   Not a technology or a methodology
   More than Model-Driven Architecture
DDD Basis
 Ubiquitous Language
    More like a Domain Specific Language (DSL)
    Unified Modeling Language (UML)
 Bounded Context
 Context Map
 Building Blocks of DDD
    Entity
    Value Object
    Aggregate and its roots
    Domain Service
    Repository
    Specification
    Factory
DDD Advanced
 Technical concepts supporting DDD
    Plain Old CLR Objects (POCO)
    Inversion of Control/Dependency Injection (IoC/DI)
    Aspect-Oriented Programming (AOP)
    Domain Specific Languages
    Event Driven Architecture (CQRS Architectural Pattern)
 Anticorruption Layer
Domain Model Examples (Flight)
Domain Model Examples (Sales)
DDD Architectural Styles
 Layered Architecture
DDD Architectural Styles
 Command-Query Responsibility Segregation (CQRS)
Frameworks
 NCQRS (.NET)
 Axon Framework (Java)
 Jdon Framework (Java)
 Apworks (.NET)
    Supports both Layered and CQRS architecture
     application development
    Visual Studio 2010/2012 Project Templates supported
    Flexible configured, any 3rd party components from
     different vendors are supported to use for any purpose
Apworks Demonstration
 Creating Layered Applications with VS Project
  Templates
 CQRS demonstration
References
 Domain-Driven Design:
    http://www.domaindrivendesign.org
   Microsoft NlayerApp:
    http://microsoftnlayerapp.codeplex.com
   CQRS: http://martinfowler.com/bliki/CQRS.html
   NCQRS Framework: http://ncqrs.org
   Axon Framework: http://www.axonframework.org
   Jdon Framework: http://jdon.com
   Apworks Framework: http://apworks.codeplex.com
Thank You

More Related Content

PDF
A Smart Development Environment for Infrastructure as Code
PDF
AUTODESK 2017
PPTX
Keynote: A Roadmap for Domain-Specific Low-Code Platforms
PPTX
Strategies and Tools for Model Reuse with Capella
PPTX
Introduction To MDD
PDF
ARTIST Project general presentation
PPTX
Business driven development
PPTX
12 Factor App Methodology
A Smart Development Environment for Infrastructure as Code
AUTODESK 2017
Keynote: A Roadmap for Domain-Specific Low-Code Platforms
Strategies and Tools for Model Reuse with Capella
Introduction To MDD
ARTIST Project general presentation
Business driven development
12 Factor App Methodology

Viewers also liked (6)

PDF
12 Factor App from Docker's Point of View
PPT
05 architectural styles
PDF
Usability Engineering
PDF
The 12 Factor App
PDF
Building Cloud Native Architectures with Spring
PPTX
Implementing DDD with C#
12 Factor App from Docker's Point of View
05 architectural styles
Usability Engineering
The 12 Factor App
Building Cloud Native Architectures with Spring
Implementing DDD with C#
Ad

Similar to Approaching to domain driven development (20)

PPSX
Oracle ADF Overview for Beginners
PDF
Source-to-source transformations: Supporting tools and infrastructure
PPT
C++ N Pv2
PDF
AI_Training_Institute_in_Coimbatore_Skya.pdf
PDF
Training Offerings - CodeOps Technologies
PPT
Sw Software Design
DOC
Prakash_Ganapathy
PPT
Pattern-Oriented Distributed Software Architectures
DOC
Resume
PPT
Vsts intro
DOC
MARIA_JOHN
PDF
Tech Stacks The Building Blocks of Modern Applications
PDF
Training Offerings - CodeOps Technologies
DOC
S Kumar Resume
PPTX
Crafted Design - Sandro Mancuso
PPT
Pragmatic Model Driven Development using openArchitectureWare
PPTX
Eclipse Developement @ Progress Software
PPTX
DICE & Cloudify – Quality Big Data Made Easy
PDF
D2 domain driven-design
PDF
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Oracle ADF Overview for Beginners
Source-to-source transformations: Supporting tools and infrastructure
C++ N Pv2
AI_Training_Institute_in_Coimbatore_Skya.pdf
Training Offerings - CodeOps Technologies
Sw Software Design
Prakash_Ganapathy
Pattern-Oriented Distributed Software Architectures
Resume
Vsts intro
MARIA_JOHN
Tech Stacks The Building Blocks of Modern Applications
Training Offerings - CodeOps Technologies
S Kumar Resume
Crafted Design - Sandro Mancuso
Pragmatic Model Driven Development using openArchitectureWare
Eclipse Developement @ Progress Software
DICE & Cloudify – Quality Big Data Made Easy
D2 domain driven-design
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Ad

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
cuic standard and advanced reporting.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
KodekX | Application Modernization Development
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPT
Teaching material agriculture food technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Machine learning based COVID-19 study performance prediction
Reach Out and Touch Someone: Haptics and Empathic Computing
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
cuic standard and advanced reporting.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
The AUB Centre for AI in Media Proposal.docx
“AI and Expert System Decision Support & Business Intelligence Systems”
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25 Week I
Agricultural_Statistics_at_a_Glance_2022_0.pdf
KodekX | Application Modernization Development
Review of recent advances in non-invasive hemoglobin estimation
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Teaching material agriculture food technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Empathic Computing: Creating Shared Understanding
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Machine learning based COVID-19 study performance prediction

Approaching to domain driven development

  • 1. An introduction to DDD and Frameworks
  • 2. Agenda  Overview  DDD Basis (UL, Entity, AR, VO, Services, Repositories, Factories)  DDD Advanced (Techniques, Anticorruption)  Domain Model Examples  DDD Architecture Styles (Layered, CQRS)  Frameworks (NCQRS, Apworks)  Apworks Demonstration  References
  • 3. Overview  DDD is an approach to develop software for complex needs  Placing the primary focus on the core domain & its logic  Basing complex designs on a model  Initiating a creative collaboration between technical and domain experts on the heart of the problem  Not a technology or a methodology  More than Model-Driven Architecture
  • 4. DDD Basis  Ubiquitous Language  More like a Domain Specific Language (DSL)  Unified Modeling Language (UML)  Bounded Context  Context Map  Building Blocks of DDD  Entity  Value Object  Aggregate and its roots  Domain Service  Repository  Specification  Factory
  • 5. DDD Advanced  Technical concepts supporting DDD  Plain Old CLR Objects (POCO)  Inversion of Control/Dependency Injection (IoC/DI)  Aspect-Oriented Programming (AOP)  Domain Specific Languages  Event Driven Architecture (CQRS Architectural Pattern)  Anticorruption Layer
  • 8. DDD Architectural Styles  Layered Architecture
  • 9. DDD Architectural Styles  Command-Query Responsibility Segregation (CQRS)
  • 10. Frameworks  NCQRS (.NET)  Axon Framework (Java)  Jdon Framework (Java)  Apworks (.NET)  Supports both Layered and CQRS architecture application development  Visual Studio 2010/2012 Project Templates supported  Flexible configured, any 3rd party components from different vendors are supported to use for any purpose
  • 11. Apworks Demonstration  Creating Layered Applications with VS Project Templates  CQRS demonstration
  • 12. References  Domain-Driven Design: http://www.domaindrivendesign.org  Microsoft NlayerApp: http://microsoftnlayerapp.codeplex.com  CQRS: http://martinfowler.com/bliki/CQRS.html  NCQRS Framework: http://ncqrs.org  Axon Framework: http://www.axonframework.org  Jdon Framework: http://jdon.com  Apworks Framework: http://apworks.codeplex.com