I am sitting here listening to the MSDN Webcast: Framework Masterclass: LINQ to Entities and guess what. Patrick Lowendahl is there as well and beat me to it with the following remark.
Question: Eilsa, if you want more feedback from DDD mvps you can drop me or my friend Jimmy (who wrote the second book, and only .net book, on the subject) a line
Excellent! Wouldn't it be great to use the Entity Framework for our domain model based application architectures. My question in this particular area:
Question: What improvements can we expect in the designer?
Answer: The current designer is actually a CTP 1 that works with the Beta 2 of the EF. We are currently working hard to implement customer feedback and implement things such as the model first scenario. You should see significant changes in the designer coming soon.
I asked Eilsa how POCO the Entity Framework will be? She responded with... for version 1 it will implement the IPOCO concept. This means you're entities need to implement a specific Entity Framework interface. The Entity Framework will have full POCO support in version 2. Microsoft is acknowledging the fact that a lot of customers are practicing DDD.
I have just returned from the Software Developers Conference 2007 in Arnhem.
Domain-Driven Design (DDD) is getting more popular in the Netherlands. My session on DDD applied in .NET, the conference room was packed with people standing, sitting on the ground and peeping from the door. We had a lively discussion around expressing the model in software. My goal was to give the attendants great insights in how DDD can help with building better software and the kind of decisions to make that keep the model and implementation aligned with each other. Somewhere in the middle of the session the enthusiasm overwhelmed me and I lost control. It was reassuring you guys enjoyed the session since the evaluations spoke for themselves.
Now, on to what this post is about. After the session I received the following question.
You inspired me to learn more. Where do I start?
Thanks, this was “the” question I was hoping for. My advice for fellow developers:
First week
Find yourself a copy of Domain Driven Design Quickly. This book is a summary of Eric Evan’s Domain-Driven Design book (a must have). Login to download this free book or purchase the print copy.
Second week
Get a copy of Applying Domain-Driven Design and Patterns: With Examples in C# and .NET, Jimmy Nilsson. This book is shows you how to begin with DDD and applying such things as Test Driven Development, object relational mapping and many other techniques that are key to future software development.
Fifth week
Do it yourself. Start practicing with the newly learned concepts and discuss them with your team. In this stage it is very important to start experimenting and developing the ubiquitous language, which brings me to the final step.
Beyond
Get a copy of Domain-Driven Design: Tackling Complexity in the Heart of Software, Eric Evans. Study it, read it at least a dozen times.
Beyond++
Get a copy of Streamlined Object Modeling: Patterns, Rules, and Implementations. Get a copy of Agile Principles, Patterns, and Practices in C#. Get a copy of Patterns of Enterprise Application Architecture.
ps: I haven't blogged for a while and lost myself in work and (looking back) other unimportant work related stuff. Thank you, Evan and Rich for the heads up.