1. 13
  1.  

  2. 2

    A very interesting article, as descriptions of most real world systems are. I do think that a better title might have been “Undoing the harm of decomposing a complex system based on technical boundaries”.

    The new division based on functionally is very broad, almost based on application areas. It would be interesting to see inside these to evaluate if they each remain ‘big balls of mud’, if logic and constraints are in a big application/service layer acting against a data model, or if alternatively an object model is used.

    1. 4

      Decomposition to subsystems is the heart of any sane architecture. The recent trend toward decomposition by layers is merely an attempt to ‘architect’ by categorizing things, as if the main problem in understanding code is figuring out what a piece of code is, rather that what it does. The main advantage of layering is that it requires fewer design skills, and still feels enough like design to avoid making hard choices on subsystem boundaries.

    2. 2

      Great article. Even better is the talk that he linked to on the same subject: Solid Architecture in Slices, not Layers