Search code examples
architecturen-layer

What are the benefits of an N-layered architecture?


What are the benefits of an N-layered architecture? How does that make an application better?


Solution

  • From here:

    • Other applications will be able to reuse the functionality exposed by your layers.
    • You will be able to distribute your layers over multiple physical tiers. This can greatly impact your application by improving performance (sometimes), scalability, and fault tolerance.
    • The maintenance of your application is easier because of the low coupling between layers.
    • Adding more functionality to your application is made easier.
    • Layers make your application more testable.
    • Building a well formed layers makes the orientation in your application more easier.
    • Having your application not layered means that you have to deal with all security threats in one place which is very difficult. Having your application distributed to layers makes it much easier to design and implement
    • Without a good deployment plan, distributing your layers over multiple physical tiers in distributed computing is not trivial. You need to plan ahead your layers when you create a distributed application.