Misconceptions about MVC - A fundamental design property of any well designed system.

Misconceptions about MVC - A fundamental design property of any well designed system.

In this section I will try to clear of some misconceptions regarding a design style which is famously called as MVC when applied to the software engineering domain.

The above statement will help us realize that this design style is not just used in the software engineering domain, it has wide applications in other streams of engineering as well. In fact as the title suggests .. today it is a fundamental design property of any well designed system.

If you ask any software engineer today about MVC he would promptly tell you that it's the "Model View Controller" Architecture wherein the presentation logic , business logic and the persistence logic are separated in separate layers.

Ask the why is there a need to separate the Presentation, Business and Persistence logic into separate layers and most of the times the same professionals will struggle to explain this need.

In this article I will try explain the need behind this separation.

The article "Parameters governing system design" explains the parameters which are generally expected by users from various systems in this world.

The parameters are

  • Usability
  • Performance
  • Flexibility
  • Security
  • Accountability

Because the users expects these parameters from systems, the systems today are designed to take care of these parameters.

The arrangement of Boundary Entities, Control Entities and Domain Entities to incorporate the above mentioned parameters is today a fundamental design style consistently used to design any well designed system in different streams of engineering.

If this design style is successful in other streams of engineering then it should also make sense of software engineering based systems as well.

This arrangement of Boundary Entities, Control Entities and Domain Entities to incorporate increase the Usability, Performance, Flexibility, Security and Accountability of the software system is famously called as the "Model View Controller Architecture" wherein the Domain Entities represents the Model, the Control Entities represent the Controller and the Boundary Entity represents the View of the system.

The following link will describe a detailed step wise description of MVC architecture clearly depicting the pros and cons of each step using the case of a Online Railway Reservation System.

Engineering way of understanding MVC - A fundamental property of any well designed system

http://www.hemantjha.in/content/2/engineering-way-of-understanding-mvc-a-fundamental-property-of-any-well-designed-system.html

Although the article is huge, but I will always suggest the readers to go through it religiously as there are numerous rules and best practices wrt systems, usability, performance , flexibility, usability and security described in the same.

In fact the detailed understanding of the MVC design style is the first step to understanding designing and design patterns in the right spirit.

The article also tries to explain how and why , conventional systems like Cars ,TVs etc designed using the arrangement of Boundary Entities, Control Entities and Boundary Entities.

 
Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer

www.VPlanSolutions.co.in