Comments on: Domain-Driven Design Immersion Class http://bradley-holt.com/2010/10/domain-driven-design-immersion-class/ Mon, 29 Sep 2014 19:50:55 +0000 hourly 1 https://wordpress.org/?v=4.6.1 By: Zilvinas Saltys http://bradley-holt.com/2010/10/domain-driven-design-immersion-class/comment-page-1/#comment-1022 Mon, 18 Oct 2010 09:09:24 +0000 http://bradley-holt.com/?p=876#comment-1022 Some DDD and CQRS resources I’ve gathered over time:

http://www.thedeveloperday.com/ddd-resources-papers-presentations/
http://www.thedeveloperday.com/cqrs-resources/

]]>
By: eglasius http://bradley-holt.com/2010/10/domain-driven-design-immersion-class/comment-page-1/#comment-891 Mon, 04 Oct 2010 17:29:16 +0000 http://bradley-holt.com/?p=876#comment-891 I’m glad Bounded Context made it to the top concepts.

I must say that I’m not at all versed on DDD, but I can’t agree more with using a Bounded Context. That’s key to manage complexity and to get less headaches from anything beyond very small projects.

I suggest not to leave Bounded Context just for “large teams or groups of teams. “. We are used to dealing with business processes that by nature have a high level of complexity, making sure you reduce the scope of the what you need to think about at the same time does wonder to keeping everything manageable.

]]>
By: Giorgio Sironi http://bradley-holt.com/2010/10/domain-driven-design-immersion-class/comment-page-1/#comment-889 Mon, 04 Oct 2010 15:34:35 +0000 http://bradley-holt.com/?p=876#comment-889 DDD is quite a large topic, I read the book in 10-page batches to be able to absorbe all the various concepts. I definitely think that PHP applications should go in this direction…

]]>
By: Keith Pope http://bradley-holt.com/2010/10/domain-driven-design-immersion-class/comment-page-1/#comment-883 Sun, 03 Oct 2010 19:00:01 +0000 http://bradley-holt.com/?p=876#comment-883 @Jonathon Applying DDD is fairly simple in ZF, the trick is to not use ZF 🙂 What I mean by this is that you need to make your Domain outside of ZF and then use ZF to call your Domain, if you are finding your Domain tied to ZF it sounds like you have Fat Controllers. In this case you need to create a service layer and push the controller stuff into those services. A good test that I use is “Can I call this from a unit test?”, if yes you are going in the right direction.

Also one thing to watch out for is a Domain that does CRUD operations, if your Domain is CRUD you are not modelling behaviour and are likely falling into the Anemic Domain Model Anti-pattern.

]]>
By: Jonathon http://bradley-holt.com/2010/10/domain-driven-design-immersion-class/comment-page-1/#comment-866 Sat, 02 Oct 2010 22:08:44 +0000 http://bradley-holt.com/?p=876#comment-866 Read (and re-read) DDD, loved it, trying to figure out how to apply it.

My current web development tools of choice are Zend Framework (ZF) and Doctrine2 (D2). ZF doesn’t really promote/specify/designate/etc a specific pattern/implementation for the M in MCV; I think that is a (very) positive thing in some respects but the flexibility leaves you with so many options it is somewhat of a daunting task to figure out how to approach the topic/problem.

That said, I think the Model is the cornerstone of where DDD comes into play. I’ve been looking into several different ways to incorporate the concepts of DDD with ZF and D2, but I haven’t been able to find a cohesive way to create my domain model where it isn’t tied back to the ZF application (maybe that is an unrealistic goal).

My question is how are other people (in the php world) applying DDD concepts. What tools/methods are they using and are there any chance of being able to see source code (or at least examples)?

]]>
By: Keith Pope http://bradley-holt.com/2010/10/domain-driven-design-immersion-class/comment-page-1/#comment-849 Sat, 02 Oct 2010 10:32:27 +0000 http://bradley-holt.com/?p=876#comment-849 If you are interested in DDD or DDDD you should have a look at CQRS.

http://cqrsinfo.com

CQRS is mainly focus on distributed systems but the concepts work well without a distributed system. I have been doing a fair bit of research on it and think it works well in PHP’s share-nothing architecture. One of the main reasons I like it is that I have found when trying to apply DDD with something like DC2 or my own mapper implementation you end up with a fairly heavy weight interaction with the Domain when querying (for display), this then forces you to workaround your ORM or mapper to pull large sets of data, as CQRS separates read/write it makes it much easier to query data for display. Also the concepts about capturing intent seem to make good DDD sense to me, plus theres a whole host of other cool ideas, all of which you can mix and match to your requirements.

I have created a quick example here:

http://gist.github.com/562799

Its pretty basic and I have been meaning to blog about it but have had no time… I really must get back to writing soon…

Nice write up btw.

]]>