Announcement Announcement Module
Collapse
No announcement yet.
2005 all over again - domain driven design, where are we? Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by gmatthews View Post
    A toolkit called Voyager, which existed maybe 7-8 years ago had a novel approach where you could acquire an interface to some aspect of the object.
    Interesting. I think that goes into the direction of some optionally available collaborators, dynamically injected via AOP.

    Originally posted by gmatthews View Post
    I'd be more accepting of DDD theory if it provided examples based on more complex system architectures than 3 or 4 objects running in a single VM.
    I guess some people have already achieved this. At least Eric Evans claims this in his book.

    Originally posted by gmatthews View Post
    i.e. show me some real non-trivial solution instead of waffling and flailing about.
    I'd be glad to work on a DDD project. About the deficiencies of anaemic domain models I know enough already...


    Originally posted by gmatthews View Post
    As a follow up, what I don't get is "what's the point of DDD" -- my code is already mostly OO, its readable, its maintainable, it works pretty fast, so why bother going to extra mile?
    Well, if you are happy with your code, then there is no reason in changing it.


    Originally posted by gmatthews View Post
    I'm actually more interested in getting my hands on the Spring OSGi implementation and seeing how that impacts software architecture rather than taking DDD to the n'th degree.
    Though I do not see a direct connection between DDD and OSGi I agree to also being very interested in the upcoming OSGi support.

    Regards,
    Andreas

    Comment


    • #32
      Though I do not see a direct connection between DDD and OSGi I agree to also being very interested in the upcoming OSGi support.
      I didn't mean to suggest any connection between DDD and OSGi.

      I was saying that given my code is already more or less ok, I can't see the point of increasing its DDD score, but can definitely see reasons for increasing deployability/upgradeability with OSGi (as just one example).

      You also didn't answer my question, "What's the point of DDD if your code is already more or less ok" -- you just fobbed it off with a remark about me being happy.

      The answer to the "whats the point" question (assuming you have reasonable maintainability/speed, etc, already) is that there is no point. its a trick question.

      Comment


      • #33
        Originally posted by gmatthews View Post
        You also didn't answer my question, "What's the point of DDD if your code is already more or less ok" -- you just fobbed it off with a remark about me being happy.
        I thought it more to be a rhetorical question. Actually I see indeed difficulty in transforming a larger project using a DDD style. However, for setting up new projects I find it worthwile in pushing the DDD approach for them.

        Concerning the OSGi point I seem to have misunderstand you, but I also share your interest in the potential it promises.

        Regards,
        Andreas

        Comment


        • #34
          Originally posted by Andreas Senft View Post
          I thought it more to be a rhetorical question. Actually I see indeed difficulty in transforming a larger project using a DDD style. However, for setting up new projects I find it worthwile in pushing the DDD approach for them.
          Yes indeed. I'm happy to go with "if it ain't broke don't fix it", but I'm also happy to embrace a "better way" of doing it if such a thing exists. I do also think people seem to get too carried away when talking about DDD. Objects creating and deleting themselves, hmmmmmm IMHO that's not what it's about.
          Last edited by karldmoore; Aug 30th, 2007, 06:42 AM.

          Comment


          • #35
            Originally posted by karldmoore View Post
            I do also think people seem to get too carried away when talking about DDD.
            +1 on your thoughts Karl. I think the most important part is being pragmatic. If I need to break some encapsulation of domain objects locally and pump up the performance of a query using a more performant SQL using joins and stuff, I would definitely go for it.

            Cheers.
            - Debasish

            Comment


            • #36
              Originally posted by debasishg View Post
              +1 on your thoughts Karl. I think the most important part is being pragmatic. If I need to break some encapsulation of domain objects locally and pump up the performance of a query using a more performant SQL using joins and stuff, I would definitely go for it.
              This always goes for anything new, I've seen some horrible uses of Reflection because it was the new thing to do. I think DDD shares this same problem and I actually think it might be slightly more pronounced as there isn't a GOOD implementation to reference. What I would like to see is a really good example that gives people an idea what this stuff is all about. I know that I would really like to see one.
              Last edited by karldmoore; Aug 30th, 2007, 06:42 AM.

              Comment


              • #37
                The latest in Interface21's training curriculum contains a reference application -- a financial reward network -- designed in the spirit of DDD. In the Core Spring course, for example, this application is used to teach the features of Spring 2 and related technologies in a realistic enterprise context across 15 hands-on labs. It also serves another purpose: to illustrate what we believe to be best practices in design and code structure.

                Generally, it is my feeling DDD is not a technical blueprint for design you can expect to apply in a cookie-cutter fashion. DDD to me is an attitude as much as anything else -- it says focus on creating a model appropriate for solving the business problem at hand, and set boundaries that scope the problem because you can't expect to solve everything at once and often face realities of integrating with worlds you don't control. Beyond that, to me it is a set of patterns that help me think about and communicate a design--general guidelines that help me shape and talk about my design for the particular problem I'm trying to solve.

                Erwin and I certainly believe we've applied DDD techniques to Spring Web Flow--I personally found that book helpful in getting the design into the shape it is in today. I also found other more technical resources very helpful to that end, such as the code structure tool SonarJ.

                Cheers,

                Keith
                Last edited by Keith Donald; May 20th, 2007, 09:37 AM.

                Comment


                • #38
                  Originally posted by karldmoore View Post
                  What I would like to see is a really good example that gives people an idea what this stuff is all about. I know that I would really like to see one.
                  Yeah, this brings me back to my old wishlist of having a ready reference list of artifacts, design techniques and best practices available using Spring as the implementation framework. Spring is now the clear leader in the Java EE stack, all the recent features of Spring 2.x, along with integration of SWF with JSF has been the icing. Hence I am sure the entire community will welcome such a repository from the Spring guys. Keith has mentioned about an application based on DDD practices which they offer in the Core Spring course. But will it not be great for us to have some of these stuff available for evangelizing DDD practices with Spring ?

                  Cheers.
                  - Debasish

                  Comment


                  • #39
                    Originally posted by Keith Donald View Post
                    Generally, it is my feeling DDD is not a technical blueprint for design you can expect to apply in a cookie-cutter fashion. DDD to me is an attitude as much as anything else -- it says focus on creating a model appropriate for solving the business problem at hand, and set boundaries that scope the problem because you can't expect to solve everything at once and often face realities of integrating with worlds you don't control. Beyond that, to me it is a set of patterns that help me think about and communicate a design--general guidelines that help me shape and talk about my design for the particular problem I'm trying to solve.
                    So you're talking about DDD as an attitude and an approach. I agree with these comments. I didn't read the Eric Evans' book and feel that it had uncovered a whole new world, I tended to nod and smile as a I read it and thought that lots of the points just made sense. That's a good thing IMHO. I think the problem that comes after the approach, is what does a well crafted domain model actually looks like? Specifically when we start to look at using DI with entities, people have all kinds of crazy ideas what we should be doing. I'd like to see more worked examples of this from concept to implementation.

                    Originally posted by debasishg View Post
                    Keith has mentioned about an application based on DDD practices which they offer in the Core Spring course. But will it not be great for us to have some of these stuff available for evangelizing DDD practices with Spring ?
                    I'd be really interested in seeing something like this. As I said previously though, worked examples not just code. I think it breaks down more boundaries if people can see the evolution.
                    Last edited by karldmoore; Aug 30th, 2007, 06:41 AM.

                    Comment


                    • #40
                      Originally posted by Keith Donald View Post
                      The latest in Interface21's training curriculum contains a reference application -- a financial reward network -- designed in the spirit of DDD. In the Core Spring course, for example, this application is used to teach the features of Spring 2 and related technologies in a realistic enterprise context across 15 hands-on labs. It also serves another purpose: to illustrate what we believe to be best practices in design and code structure.
                      Keith, that reference application sounds like it could be very useful to a lot of people!

                      I attended several talks on DDD at SpringOne 2006 (including your "The Art of Domain Modeling"), and one of them (don't remember which one) mentioned a reference application for managing swimming (?) contests. IIRC, it was supposed to be released later in 2006, but to my disappointment, I've never heard of it again.. Do you happen to have any info on what became of that?

                      Thanks,
                      Dan

                      Comment


                      • #41
                        Generally, it is my feeling DDD is not a technical blueprint for design you can expect to apply in a cookie-cutter fashion
                        +1

                        Too many DDD posts seem to emphasize 100% of code be written in a DDD style.

                        Lean towards a DDD approach where possible, but that's about it.

                        Comment


                        • #42
                          Originally posted by karldmoore View Post
                          I'd be really interested in seeing something like this. As I said previously though, worked examples not just code. I think it breaks down more boundaries if people can see the evolution.
                          I agree
                          An example application showing the benefits of DDD, while not being a trivial example, would be really helpful to add momentum towards the DDD approach.

                          Comment


                          • #43
                            That seems to be the main/big problem with DDD in general imho. The absence of a sample application. I did some requests (and searchs) for a sample application but none of those yielded any result...

                            If someone has some links to a simple sample application that would be helpful. I know that Steven Devijver was working on a sample application for his book, that application was build according the DDD concepts. However his book is (still) not out and neither his sample application can be found anywhere.

                            Comment


                            • #44
                              Originally posted by mdeinum View Post
                              I know that Steven Devijver was working on a sample application for his book
                              What is the topic of that book? Is it about DDD, or is that only a part of its scope?

                              Comment


                              • #45
                                It was a book about Spring, however he wanted to ship a sample based on DDD. So it would be a combination of DDD and how to do it with Spring.

                                He mentioned it here and I talked with him about it about 9 months ago. Since then however no more developments on the matter.
                                Last edited by Marten Deinum; May 29th, 2007, 04:01 AM.

                                Comment

                                Working...
                                X