domain driven design. set of blog posts spanning 10 months – building an app fefactored along the...

13
Domain Driven Design

Upload: phoebe-lizbeth-ryan

Post on 27-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

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

Trust that the app does what it says

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

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.

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!)

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?

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.