Advantages of a layered architecture
Advantages
- Enables develop loosely coupled systems
- Application can be independently deployed, maintained, and updated, on different time schedules
- Helps you to test the components independently
- Multiple applications can reuse the components
Dis-Advantages
- Extra overhead of passing through layers instead of calling a component directly
- Separating codes leads to complexity to simple applications
Source:
http://venkataspinterview.blogspot.com/2011/03/what-are-advantages-and-disadvantages.html