MVC, MVP, MMVC, MVVM or proposed DWP?

MVC is short for Model View Controller, originated from Smalltalk and heavily discussed in PHP arena most noticeably the PHP Zend Framework.

MVP is short for Model-View-Presenter is mostly known is for. NET platform camp.

MMVC is short for Model Model View Controller is mostly known in the Java camp

MVVM is short for Model View ViewModel is mostly known in the Silverlight camp.

If you don't already know these acronyms you can easily search the internet to find out the detail but for the purpose of this article, I am proposing something different, DWP! What's the heck is DWP?

DWP is short for Director Worker Presenter

All the above MVC, MVP, MMVC and MVVM are just the different approach to reach DWP.

Please consider this, the common theme of all the above different approaches are trying to achieve the goal of "separation of concern", Controlling or Directing, Modeling or Working and Viewing or Presenting

So why not call it by what it actually does, Directing Working Presenting (DWP)

DWP describes precisely what it stands for and what it is actual do and in the same order of what is actually happen.

When an event occurs, whether it is a web application or in a GUI application, it will invoke a "Director" then the "Director" will decide whether it will redirect request to another "Director" for further processing or send to a "Worker" to get the data and return to the "Director" when the "Worker" is done then the "Director" will turn over to "Presenter" to process the presentation and return to the "Director" then the "Director" will response to the event to show the result which originally invokes the request.

There you have it, DWP is short and sweet! No confusion on which order of things will occur!

So, what do you think?