[HN Gopher] DDD, Hexagonal, Onion, Clean, CQRS, How I put it all...
       ___________________________________________________________________
        
       DDD, Hexagonal, Onion, Clean, CQRS, How I put it all together
       (2017)
        
       Author : sdeframond
       Score  : 41 points
       Date   : 2022-12-10 16:55 UTC (6 hours ago)
        
 (HTM) web link (herbertograca.com)
 (TXT) w3m dump (herbertograca.com)
        
       | hkon wrote:
       | Very nice. You don't need all of it for every project. But onion
       | and dependency injection is my default setup.
        
       | twawaaay wrote:
       | Don't put it together. Learn all this stuff, understand it
       | deeply. Then use it when you find it improves whatever you are
       | working on.
       | 
       | If you start putting it all together you will most likely only
       | confuse other developers, especially juniors. Don't do it. The
       | point of gathering all this knowledge should be making the
       | application simpler and easier to maintain. So introduce stuff
       | gradually and only when you find the added complexity pays out.
        
         | skrtskrt wrote:
         | Imo when it's done well it doesn't look like complexity at all
         | and makes it simpler, not more complicated, even if there are
         | more "layers"
        
           | twawaaay wrote:
           | In my experience, when people look for a way to include
           | something in the project it almost always results in more
           | complexity.
           | 
           | A question like "how do I put it all together" signals focus
           | on tools rather than focus on the product. When developers
           | learn new things they frequently look for opportunity to use
           | them. This preoccupation with the tool they just learned
           | usually happens at the cost of the product. They are looking
           | for a way to add things to the project rather than look for
           | ways to remove unnecessary things.
           | 
           | The right state of mind for architect/designer is to seek
           | learning/understanding paradigms, tools, technologies, etc.
           | to have a library of solutions for when they are needed and
           | be able to recognise when it is the right time to do it, not
           | to try to find a way to use something they just learned.
        
         | Akronymus wrote:
         | As a junior who previously got thrown into the deep end on one
         | project, where I have been essentially useless for way too
         | long, but now am having actual guidance, and do one part at a
         | time: I can only second that.
         | 
         | Also: train your juniors, please. Getting thrown into the deep
         | end REALLY hurts the speed of learning.
        
         | hkon wrote:
         | These are established and well known patterns. Better other
         | people get to learn them sooner. The seasoned developers have
         | probably experienced the problem they solve and the juniors
         | might be saved from doing the same mistakes as others have
         | before them.
         | 
         | The argument that juniors will have a hard time understanding
         | it can be said about anything you don't like / don't want. And
         | then you can begin to lay it on thick. It's a convenient scape
         | goat for sure.
        
       ___________________________________________________________________
       (page generated 2022-12-10 23:00 UTC)