Wednesday, August 6, 2008

MVC

When the software has a set of ideas imbedded in them and expressions can be by linking together lots of independent system calls which can take their time, programmes no longer are being executed in strict orderly fashion, they are being executed on demand.

With all resources ready and waiting for the interactions that reach instances of them from connections to browser sessions there are many things going on. There is an interaction of the database MODEL with memory of the computer. In a monolithic system each instance is of course huge. In an efficient multitasking system, only those processes which must be done in a sequence are at all complex. Everything else is broken down into the specific bits of code and data that need to be present to support the action request from the CONTROLLER.

Now we are talking about the engine side of the equation. The driver (user) still needs to see a representation of the model, as filtered through the processing of the controller. We put the VIEW on a screen. The VIEW is intimately connected to individual parts of the MODEL via the CONTROLLER.

Rarely, although it is possible - does the VIEW get data direct from the MODEL. In fact to do so defeats the very advantage we obtain by disconnecting them completely. The real strength of this triangle is the isolation it achieves by running discrete processes that only contain those portions of the MODEL it affects and all the logic that it requires. In another task segment, is another MODEL/VIEW/CONTROLLER.

The benefits of this arrangement are fairly evident. They are obvious. The are also discrete and non-obvious. And that is there the real benefit lies. In the quality of the engineering of the engine.

No comments: