Home
> Architecture > Layering
Layering
Layering is one of the most common techniques that software designers use to break apart a complicated software system. It serves to help us in Separation of Concerns.
Advantages of Layering
- Reuse of Layers
- Standardization possibilities
- Dependencies are kept local
- Exchangeability
- Raise the level of Abstraction
Some of the Drawbacks
- Cascades of changing behavior (Ex: Adding a field to the database and its ripple effect in all the layers)
- Lower efficiency
- Layers lacks support for the easy recombination and reuse of components.
POSA Volume 1 and PoEAA are good places to read more stuff on this.
We’ll look into some of the popular schools of thought on layering.
POSA: Pattern Oriented Software Architecture
PoEAA: Patterns of Enterprise Application Architecture
Categories: Architecture
Sendhil, I would look forward to your blogs on Layering. when I ask young people on layering, i get interesting answers