Bad Layering: The layering software architecture pattern

Stock Photo of sedimentary rock layers

http://www.michaelnygard.com/blog/2015/04/bad-layering/


The trouble arises when the layers are built such that we have to drill through several of them to do something common. Have you ever checked in a commit that had a bunch of new files like “Foo”, “FooController”, “FooForm”, “FooFragment”, “FooMapper”, “FooDTO”, and so on? That, dear reader, is a breakdown in layering.