13
Domain Driven Design

Domain Driven Design

  • Upload
    heman

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

Domain Driven Design. Set of blog posts spanning 10 months – building an app. Fefactored along the way code to Patterns eg repository. Connect Website to DB – 1999 style. My fork is in private Git repo. Why Should you Care about this strategy?. High performance Simple Maintainable - PowerPoint PPT Presentation

Citation preview

Page 1: Domain Driven Design

Domain Driven Design

Page 2: Domain Driven Design

Set of blog posts spanning 10 months – building an app

Fefactored along the way code to Patterns eg repository

Page 3: Domain Driven Design

Connect Website to DB – 1999 style

Page 4: Domain Driven Design
Page 5: Domain Driven Design

My fork is in private Git repo

Page 6: Domain Driven Design

Why Should you Care about this strategy?

High performance Simple Maintainable Trust that the app does what it says

Page 7: Domain Driven Design

What is DDD?

Domain-driven design (DDD) is an approach to develop software for complex needs by connecting the implementation to an evolving model

Placing the project's primary focus on the core domain and domain logic.

Basing complex designs on a model of the domain. Initiating a creative collaboration

Page 8: Domain Driven Design

SHOW ME THE CODE!

“A key to being an effective programmer is maximising the portion of a program that you can safely ignore while working on any one section of code.

Classes are the primary tool for accomplishing that objective.

Page 9: Domain Driven Design
Page 10: Domain Driven Design

Discussion

EF for UoW and simple CRUD Dapper for ultra fast reading and simple object mapping

(StackOverflow) – SP or no SP?

Unit test each layer Integration test each layer (less tests, but nice!)

Page 11: Domain Driven Design
Page 12: Domain Driven Design

Where Next?

Side project: Flickr, Twitter (auth!) High perf where needed Highly testable Very small classes – 7 items +- 2 Simple Refactor down levels? Journey – Repository Pattern, Factories, Domain Events, EntityBase,

CodeCoverage, Tell Don’t Ask, State Pattern, Open Closed Principle, IoC?

Highly responsive UI – fast calls to… ASP.NET WebApi REST?

Page 13: Domain Driven Design

Thank You!

All links on www.programgood.net One thing to remember:

“Testing is good!!!”

When Chuck Norris throws exceptions, it’s across the room.