CMP's TechWeb
spacer
spacer Click Here!
spacer
spacer
 Write to Byte
 Editorial Calendar

 Categories
 Previous Weeks
 Columns
 Features
 Audio

 Search:
Byte
Research Center


 Resources
 WebTools
 Java Resources
 Downloads
 History Of Byte

 BYTE Humor
 Ian Shoales' Page

 Print Archives
 By Issue    By Topic

 About Us
 Byte Editorial Staff
 Sales Staff
 Privacy Policy


Sponsored by:
Click Here!

TechWeb Sites
 Bank Systems
     & Technology
 CMPmetrics
 eBusiness Expo
 File Mine
 InformationWeek
 Insurance & Technology
 InternetWeek
 Network Computing
 PC Expo
 Planet IT
 TechCalendar
 TechEncyclopedia
 TechLearning
 TechReviews
 TechWeb News
 TechWeb Today
 Wall Street & Technology

 Ad Info

spacer
infielder

MVC Changes The Conceptual Level
(Evolution Of Programming Methodology, Part II, Page 3)

By Bill Nicholls

March 27, 2000

In This Article
  Evolution Of Programming Methodology, Part II

  The Missing Element

  MVC Changes The Conceptual Level

  Structure Of The Universe and Programming

  It's A BIG Job

Print This Article
The big change in programming discoveries started in the late 1970s. Prior to that, the discoveries and refinements dealt with details of how the program was written and structured -- the program conceptual space.

Starting with Model-View-Controller (MVC), this new approach worked on the higher level of problem conceptual space. MVC was introduced with Smalltalk by Xerox PARC in the late 1970s.

MVC abstracted the problem from the programming details, and then separated three aspects of the problem into independent but interacting components. MVC is briefly defined as:

  • Model: The data and logic that defines how to access and change that data.
  • View: The way the data is presented to the user or another machine.
  • Controller: Provides input and feedback to the model to change the data.

The power of this approach was that it basically did not matter how the individual components were created. As long as the interfaces were consistent, one could remove a component and replace it with something more powerful without impacting the other components at all. MVC was in some ways an early version of objects, but without the fine-grained nature of current object approaches.

MVC's acceptance suffered from three problems. First, it was a large leap to understanding the concept and how to make it work. Second, it was introduced as a part of the Smalltalk language that had its own significant learning curve. Third, the cost of training and conversion was a big obstacle to companies that considered the option. The costs were up front, the benefits were, maybe, down the road a ways. And maybe not. MVC was a powerful concept, but it did not make a big impact at that time.

Despite these negatives, MVC as a concept was a major turning point. MVC introduced ideas that were catalysts to the later complementary concepts of objects and patterns. You can view objects as MVC in small scale, and patterns as MVC in large scale.

Client/Server (C/S) in the 1980s, was the next big innovation, this time in the structure of the delivery mechanism. No longer was all processing done in a central point and only display and data entry done remotely. Now processing could be done where it was most appropriate, near the entry or near the data. However weak the original concept seems today, it did introduce the concept of doing the processing where the data was. Today, C/S is part of the solution and comes in two level (original flavor) and three level with database added.


 

    <<<Previous Page     >>>Next Page



CMPnet spacer Click Here!