--- layout: pattern title: Layers folder: layers permalink: /patterns/layers/ categories: Architectural tags: Java --- **Intent:** Layers is an architectural style where software responsibilities are divided among the different layers of the application. ![alt text](./etc/layers.png "Layers") **Applicability:** Use the Layers architecture when * you want clearly divide software responsibilities into differents parts of the program * you want to prevent a change from propagating throughout the application * you want to make your application more maintainable and testable **Credits:** * [Pattern Oriented Software Architecture Vol I-V](http://www.amazon.com/Pattern-Oriented-Software-Architecture-Volume-Patterns/dp/0471958697)