Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Architecture - why so serious?

1,021 views

Published on

DDD East Anglia slides

Published in: Software
  • Be the first to comment

  • Be the first to like this

Architecture - why so serious?

  1. 1. Architecture – why so serious? Barbara Fusinska @BasiaFusinska
  2. 2. About me barbara.fusinska@gmail.com @BasiaFusinska http://basiafusinska.com
  3. 3. Agenda • What is architecture? • Let’s Go Out survey – Infrastructure – Domain – DB access
  4. 4. What is architecture? • Network distribution • Software components • Services APIs • Infrastructure • Domain Design
  5. 5. Here & Now • ASP.Net MVC Web Application • Approaches & Patterns • Components/Infrastructure/Domain
  6. 6. App demonstration • Let’s Go Out • Scheduling
  7. 7. Basics – how to start? • Configuration • IoC container • You don’t have to inject everything
  8. 8. DB access Code DB
  9. 9. CRUD Hell • ADO.Net • ORM
  10. 10. Chose ORM strategy • Micro ORMs – CRUD – SQL brought to the front • Full-fledged ORMs – Change tracking – Unit of Work – Identity map – DDD
  11. 11. Repositories… just don’t • CRUD in Repository or FindBy… wrappers • Used only once • Save
  12. 12. DB schema
  13. 13. Read model • Leave the work to DB • Don’t be afraid of plain SQL • Separate entities
  14. 14. Command Part • Insert & Update • Identity Pattern • Unit of Work
  15. 15. Services • Unit of Work • DTOs objects • Transactions
  16. 16. Commands • Only one controller dependency • Clean domain API • Easier controller testing (only binding or validation) • Logging in bus
  17. 17. Transactions • Connection closing • Saving changes/Commiting • Per request
  18. 18. Summary • IoC containers • ORMs • Separating ReadModel from Domain • Commands • Transactions
  19. 19. Q & A Thank you @BasiaFusinska http://basiafusinska.com

×