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