What are the benefits of N-tier architecture?

What are the benefits of N-tier architecture? How to make this application better?

+2


a source to share


3 answers


From here :



  • Other apps will be able to reuse functionality exposed by your layers.
  • You will be able to distribute your layers across multiple physical layers. This can have a huge impact on your application, improving performance (sometimes), scalability, and fault tolerance.
  • Maintaining your application is easier due to the low communication between layers.
  • Adding more functionality to your application is simplified.
  • Layers make your application more robust.
  • The creation of well-formed layers makes it easier to navigate the application.
  • Unless your application is tiered, you have to deal with all security threats in one place, which is very difficult. Having your application layered makes it easy to design and implement
  • Without a good deployment plan, it's not trivial to distribute your layers across multiple physical layers in distributed computing. You must plan your layers when creating a distributed application.
+14


a source


The solution is easier to maintain and improve because of the low coupling between layers, high cohesion between layers, and the ability to switch between different layer interface implementations.

Other solutions should be able to reuse functionality displayed by different layers, especially if layer interfaces are designed with reuse.

Distributed development is easier if work can be distributed across layer boundaries.

Spreading layers across multiple physical layers can improve scalability, resiliency, and performance. For more information, see the Layered Distribution Template.



Testing capability benefits from having well-defined layer interfaces as well as the ability to switch between different implementations of layer interfaces.

Summary

Benifits

  • Reusing layers
  • Support for standardization
  • Dependencies are stored locally
  • interchangeability
+1


a source


Firs of all, layered architecture is a type of "modular design". Therefore, to appreciate the benefits of a layered architecture, you need to know what modular design is. Secondly, it is a special type of modular design, specially organized to manage dependencies to minimize hard coupling, thereby achieving the goals of modular design - standalone modules / components. Once we have standalone / independent modules, they can be reused, extended, tested, etc. Compared to when the architecture / design is not modular.

I have an article on layered architecture where I discuss these things in more detail. This might be helpful.

Spaced layered architecture

0


a source







All Articles