170 likes | 432 Views
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
E N D
Set of blog posts spanning 10 months – building an app Fefactored along the way code to Patterns eg repository
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.