130 likes | 260 Views
Dive into the insightful world of Domain-Driven Design (DDD) and Test-Driven Development (TDD) with expert developer and author Jimmy Nilsson. Known for his work in .NET frameworks and enterprise design, Nilsson emphasizes the importance of understanding programming as a path to clarity and simplicity. His blog and resources serve as a guide for developers looking to reduce accidental complexity while effectively managing data persistence, especially when utilizing Entity Framework (EF). Learn about methodologies like DB-first and Code-first, and explore how good design principles endure beyond fleeting frameworks.
E N D
EF + DDD = true? by Jimmy Nilsson
About Jimmy Nilsson Primarily a developer and architect, but also a trainer and author Blog: JimmyNilsson.com/blog/ Twitter: twitter.com/JimmyNilsson Author of ”Applying Domain-Driven Design and Patterns” and ”.NET Enterprise Design” Co-founder and CEO of factor10
Relational database? O/RM or ”manual”? EF or NHibernate? DDD and TDD! EF 3.5, how to prepare for 4? ?
Relational database? O/RM or ”manual”? EF or NHibernate? DDD and TDD! EF 3.5, how to prepare for 4? :-)
Why TDD? TDD isn’t about testing... ...it’s about programming! To write simpler, clearer and more robust and maintainable code!
Why DDD? Accidental complexity is bad ”Programming is understanding” (Kristen Nygaard) ”DDD == OO done right” Context is king Semantics over technology ...
But also with TDD and DDD we most often need to persist data It’s just not the main focus... Assume that we might use a relational database EF? EF3.5 DB-first (generate metadata and classes) IPoco EF4 DB-first (generate metadata and classes) Model-first (”paint” metadata, generate DB and classes) Code-first (”generate” metadata in runtime, generate DB)
Disclaimer Not a review! No production experience... No analysis...
Domain expert: Lotta Developer: Jimmy Who needs a new app...TimeReport! Our story can begin...
Recommendation Frameworks come and go, good design lasts! So... Focus on DDD and TDD!
References [DDD] Eric Evans: Domain-Driven Design [ADDDP] Jimmy Nilsson: Applying Domain-Driven Design and Patterns