Introduction to<br />Domain-Driven Design<br />Paul Rayner<br />Solutions Architect<br />
The principle that we should be<br />focusing on the deep issues of the domain<br />	our users are engaged in,<br />that t...
The overwhelming problem with software development<br />is that<br />everything is part of the design process.<br />“What ...
For reasons that I do not understand, <br />reasonably intelligent people insist upon confusing the concept of<br />design...
design as product<br />
design as process<br />DOMAIN MODEL<br />
UBIQUITOUS<br />LANGUAGE<br />
Domain-Driven Design applies whenever <br />we are operating in a complex, intricate domain<br />Make the software a refle...
John,<br />In the system for Client A, please tell me the source for populating the field Retail Price?<br />Pam<br />Acco...
Claire &lt;Business Analyst&gt;,<br />Can you please tell me what the @*&#^&^# field John is referring to? <br />I haven&a...
LAYERED<br />ARCHITECTURE<br />
http://jeffreypalermo.com/blog/the-onion-architecture-part-1<br />
ENTITIES<br />
Identity…<br />
VALUE OBJECTS<br />
AGGREGATES<br />
SERVICES<br />
FACTORIES<br />
REPOSITORIES<br />
BOUNDED CONTEXT<br />
Thanks to Dave Laribee (codebetter.com/blogs/david_laribee) for permission to use his presentation ideas<br />RESOURCES<br />
Paul Rayner<br />paul@virtual-genius.com<br />303.374.4370<br />@virtualgenius (Twitter)<br />http://virtualgenius.spaces....
Upcoming SlideShare
Loading in...5
×

Introduction To Domain Driven Design

1,824

Published on

Domain-Driven Design applies whenever we are operating in a complex, intricate domain. Make the software a reflection of the domain. The software needs to incorporate and express the core concepts and elements of the domain, and precisely realize the relationships between them.

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

  • Be the first to like this

No Downloads
Views
Total Views
1,824
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
42
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduction To Domain Driven Design

  1. 1. Introduction to<br />Domain-Driven Design<br />Paul Rayner<br />Solutions Architect<br />
  2. 2.
  3. 3. The principle that we should be<br />focusing on the deep issues of the domain<br /> our users are engaged in,<br />that the best part of our minds should be <br />devoted to understanding that domain, and<br />collaborating with experts in that domain to<br /> wrestle it into a conceptual form<br /> that we can use to<br /> build powerful, flexible software.<br />Eric Evans<br />DOMAIN-DRIVEN DESIGN<br />
  4. 4. The overwhelming problem with software development<br />is that<br />everything is part of the design process.<br />“What Is Software Design?” - Jack Reeves<br />
  5. 5. For reasons that I do not understand, <br />reasonably intelligent people insist upon confusing the concept of<br />design as process <br />versus <br />design as product<br />“What Is Software Design? – 13 Years Later” - Jack Reeves<br />
  6. 6. design as product<br />
  7. 7.
  8. 8. design as process<br />DOMAIN MODEL<br />
  9. 9. UBIQUITOUS<br />LANGUAGE<br />
  10. 10. Domain-Driven Design applies whenever <br />we are operating in a complex, intricate domain<br />Make the software a reflection of the domain Incorporate and express the <br />core concepts and elements of the domain<br /> Precisely realize the relationships between them.<br />
  11. 11. John,<br />In the system for Client A, please tell me the source for populating the field Retail Price?<br />Pam<br />Accountant<br />We Rock!, Inc.<br />Pam,<br />Retail Price = ARRAMT in ARRTRXPF ... <br />It comes out of the BARCSTPF ... either directly or as calculated percentage from BARCSTPF. <br />John<br />Developer<br />We Rock!, Inc.<br />
  12. 12. Claire &lt;Business Analyst&gt;,<br />Can you please tell me what the @*&#^&^# field John is referring to? <br />I haven&apos;t memorized all of the column headers in the tables in the system that I never see . . . :-)<br />I&apos;m guessing he means the product maintenance menu, and the screens 1 - 3 and the field marked &quot;sale price&quot; . . .<br />Pam<br />Accountant<br />We Rock!, Inc.<br />
  13. 13. LAYERED<br />ARCHITECTURE<br />
  14. 14. http://jeffreypalermo.com/blog/the-onion-architecture-part-1<br />
  15. 15. ENTITIES<br />
  16. 16. Identity…<br />
  17. 17. VALUE OBJECTS<br />
  18. 18. AGGREGATES<br />
  19. 19. SERVICES<br />
  20. 20. FACTORIES<br />
  21. 21. REPOSITORIES<br />
  22. 22. BOUNDED CONTEXT<br />
  23. 23. Thanks to Dave Laribee (codebetter.com/blogs/david_laribee) for permission to use his presentation ideas<br />RESOURCES<br />
  24. 24. Paul Rayner<br />paul@virtual-genius.com<br />303.374.4370<br />@virtualgenius (Twitter)<br />http://virtualgenius.spaces.live.com<br />Solutions Architect<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×