什么是MVC的替代品?

Bjo*_*orn 3 language-agnostic architecture model-view-controller design-patterns

好像我正在使用的每个项目都使用模型视图控制器架构,这就是我自己的项目.还有其他选择吗?如何创建具有持久存储和用户界面的应用程序呢?

Chu*_*way 8

MVC已经存在了一段时间.这是一个经过时间考验和证明的模式.许多框架都利用了MVC模式.Martin Fowler将MVC解构为:监督PresenterPassive View.

建筑师Christopher Alexander说得最好:

每种模式都描述了一个在我们的环境中反复出现的问题,然后描述了该问题的解决方案的核心,以这种方式使您可以使用此解决方案一百万次,而无需以相同的方式执行两次.

我不确定你为什么要从MVC转移.你遇到的问题是MVC没有雄辩解决吗?为了给您更好的答案,我们需要了解有关您的问题域的更多信息.

在考虑模式/架构时需要考虑的事项:如果您正在构建具有Myspace类型架构的东西,则需要一个健壮的架构(MVC).如果您通过网络创建一个简单的crud界面 - 几乎任何事情都可以.

对于.Net Web表单(我假设网络,因为你没有说厚或网络客户端)不是MVC,这是一个维护它们的噩梦.Web Forms应用程序生活了几年,往往成为泥泞的大球.即使这样,开发人员也发现了将MVC用于Web表单的方法.

具有讽刺意味的是,ASP.NET Web表单中缺乏MVC架构是导致ASP.Net MVC框架开发的主要原因之一.

根据经验,如果您不使用某种MVCesk方法,您的解决方案将变得难以维护和膨胀.这些应用程序将死于缓慢的痛苦.

如果您的解决方案是小型的一次性项目,那么无论如何都要把它们放在一起.哎呀,有些工具可以生成从屏幕到数据访问层的所有内容.无论做什么都可以完成工作.


小智 6

使用VB6和Delphi等工具构建的经典CRUD应用程序具有用户界面,持久存储并且不使用MVC.其中大多数使用直接链接到数据库字段的数据感知控件