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