开发者

What are the alternatives to MVC architecture for web development? [duplicate]

This question already has answer开发者_Python百科s here: Closed 10 years ago.

Possible Duplicate:

Alternatives to the MVC

I have searched around for alternatives just to see what is available, but I can hardly find anything.

I've read in many articles that web MVC is never true MVC for some reasons too technical for me to really grasp. And it is sometimes suggested to look for something else, but what are the something elses, what are the other architecture types? Where can i read more about it? Can someone provide more details about what is available out there?

By the way, I already read about the 3 tiers architectures, which in my opinion is pretty similar, unless proven otherwise.

What else is there?


An (already a bit older) blog post from Larry Garfield is the best ressource I know about this topic:

http://www.garfieldtech.com/blog/mvc-vs-pac


Sorry, don't have any easy to digest comparisons. But there is for example the Model-View-Presenter pattern which has superseded MVC, and is actually closer to what most PHP frameworks practically do. http://richnewman.wordpress.com/2008/02/26/model-view-presenter-variations-on-the-basic-pattern-introduction-to-cabscsf-part-24/

Articles like http://c2.com/cgi/wiki?TemplatingInPhp assume that PHP itself is the best model for webapps, and patterns instead of templates don't add enough benefits.

Besides PAC, there is also Model-View-ViewModel (which is currently a hot topic in C# but not in PHP) and and Model-Delegate http://c2.com/cgi/wiki?ModelDelegate which expand upon MVC. But they might not be as useful for generic webapps either.


Model-View-Controller is a pretty good concept, but the interpretation by a frameworks can be different. Typically "view" is a template with some logic in it. Model is often described as an XML or YAML document. Finally Controller is a piece of code in a programming language.

My proposed alternative is based around Object-Oriented design. View is an object. Model is an object. Controller is an object too. This opens posibilites to a higher level of efficiency, simplicity and code re-use.

This principle is implemented in my web development framework and I am also describing it in details in my blog post — Object Oriented MVC

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜