---
layout: pattern
title: Layers
folder: layers
permalink: /patterns/layers/
categories: pattern_cat
tags: pattern_tag
---

**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
