Approaching to domain driven development

1,697 views

Published on

A draft introduction on DDD and Apworks framework.

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,697
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
44
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Approaching to domain driven development

  1. 1. An introduction to DDD and Frameworks
  2. 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. 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. 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. 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
  6. 6. Domain Model Examples (Flight)
  7. 7. Domain Model Examples (Sales)
  8. 8. DDD Architectural Styles Layered Architecture
  9. 9. DDD Architectural Styles Command-Query Responsibility Segregation (CQRS)
  10. 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. 11. Apworks Demonstration Creating Layered Applications with VS Project Templates CQRS demonstration
  12. 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
  13. 13. Thank You

×