1 / 13

Domain Driven Design

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

heman
Télécharger la présentation

Domain Driven Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Domain Driven Design

  2. Set of blog posts spanning 10 months – building an app Fefactored along the way code to Patterns eg repository

  3. Connect Website to DB – 1999 style

  4. My fork is in private Git repo

  5. Why Should you Care about this strategy? • High performance • Simple • Maintainable • Trust that the app does what it says

  6. 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

  7. 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.

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

  9. 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?

  10. 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.

More Related