| Advantage and disadvantage of MVC architecture
Below are some of advantage and disadvantages of MVC architecture
Advantage
(1)When we use MVC architecture it will separate the user interface from the business logic, and the business logic from the data access logic. So MVC architecture increases flexibility and maintainability and scalability.
(2)Other advantage of MVC is reuse of components. For example if we want a windows user interface rather than a web browser interface, this can be done in an easy and fast way by just replacing the UI component. All the other components like business logic and data access and the database remains the same. Layered architecture allows to swap and reuse components at will.
(3)MVC architecture helps us to do teams work on different parts of the application parallely with minimal dependencies on other teams.
(4)MVC architecture helps us to develop loosely coupled systems.
(5)In MVC we can create different components of the application which can be independently deployed and maintained and updated on different time schedules.
(6)MVC architecture also makes it possible to configure different levels of security to different components deployed on different boxes. So MVC architecture helps us to secure portions of the application behind the firewall and make other components accessible from the Internet.
(7)MVC architecture also helps you to test the components independently of each other.
Disadvantage
(1)Becasue we need extra overhead due to layers which will do negative impact on the performance
(2)Development of user-intensive applications can sometime take longer if the layering prevents the use of user interface components that directly interact with the database.
(3)The use of layers helps to control and encapsulate the complexity of large applications but adds complexity to simple applications.
(4)Changes to lower level interfaces tend to percolate to higher levels and especially if the relaxed layered approach is used. | | |