你怎么说?你的项目有什么好的或坏的经历?
答案 0 :(得分:2)
根据我使用每种技巧的经验,我有一些提示。
MVC - 这种模式/架构是旧的,经过试验和测试。非常适用于基于Web的项目,其中视图与服务器(和模型)分离。
但是,我认为当模型可用时可以使用更好的模式而不是MVC。
MVP - 当您没有允许绑定的datacontext时使用它(例如,WinForms)。此外,如果由于某种原因无法使用ASP.NET MVC但仍可以使用ASP,则MVP可能是一种简单的迁移,可帮助您将视图与模型分开。
作为最后一点,我知道没有被问过,但MVVM可能是最好的。如果你有一个datacontext,你可以使用它,它提供了一个功能完备的方法来绑定其他类的属性和方法(即WPF)。 MVVM优于MVP,因为它不再需要维护视图接口,因此减少了代码量。
我的帖子MVVM vs MVP vs MVC: The differences explained更详细地解释了这一点。
答案 1 :(得分:0)
模型 - 视图 - 控制器(MVC)是一个 软件架构[1],目前 被视为一种建筑模式 用于软件工程。该 模式隔离“域逻辑”( 来自用户的应用程序逻辑 输入和表示(GUI), 允许独立发展, 测试和维护每个。
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
Model-view-presenter是一个软件 模式,被认为是的衍生物 模型 - 视图 - 控制器模式。
http://en.wikipedia.org/wiki/Model-view-presenter
<强>因此,强>
MVC是一种设计模式。设计模式是一种代码结构,允许快速复制通用编码框架。您可能会将设计模式视为构建应用程序的框架或框架。 MVC框架最明显的好处是它可以帮助您分离业务逻辑(数据库)和表示逻辑(设计)。
<强>基本上强>
模型包含与您的数据库和其他数据结构相关的所有代码。如果您有一个名为pages的表,那么您将拥有一个模型,其中包含用于从该表中选择,创建,更新和删除记录等功能的模型。
观看次数包含所有展示广告和用户界面元素,JavaScript代码,层叠样式表(CSS),HTML甚至PHP。
控制器将所有内容保持在一起。控制器中的每个功能代表一个目的地或路线。如果你有一个名为/ about的目的地,你的控制器将有一个名为about()的函数。基本上,控制器决定运行哪个模型和哪个视图。这是视图和模型之间的契约。