An MVC-based application or service can be implemented abstractly separating the code in the 3-layered paradigm.

Each model, view and controller is implemented separately and it may be unified or not. Unified means everything done in the same way and standarized.

For example, a form on a Windows application may be a view and it is controlled by a custom controller implementation which invokes methods from some class and so on.

That is absolutely correct since these entities are doing what they are meant to do in MVC.

But what is wrong? Nothing. But what happens when more than a project may be implemented in MVC? N programmers have N thoughts, opinions and different coding styles, ending in a good structured stack but with implementation differences in the project source code. In other words: maintainance made hard.

In addition, a MVC application may interact with other ones, claiming a generalized code which can expose a predictable design.

Predictable design for a scalable, mantainable and integrable logic

A pedictable design requieres standards.

In object-oriented programming, "standard" can be translated into interface, abstract class or base class. A common design-time signatures and types providing an abstract implementation for a common solution or problem like MVC.

A set of application programming interfaces (API), abstraction layers and/or utilities is known as programming framework or simply framework.

An MVC framework is an abstract implementation of MVC by providing what is common for every solution.

Why? Because implementing solutions on top of a framework enforces code reuse, predictable results, integration and a good ROI (rate of return) in terms of timings and money.

Last edited Jul 7, 2009 at 2:00 PM by MFidemraizer, version 1


No comments yet.