【发布时间】:2010-10-14 18:30:21
【问题描述】:
很多框架都是基于mvc的,但是我对MVC一无所知。那么MVC有什么用呢? 是为了速度、安全还是其他原因?
【问题讨论】:
-
关注点分离 (SoC) 怎么样?
-
如果不是其他内容,请复制此内容:stackoverflow.com/questions/3623172/why-is-mvc-so-popular
很多框架都是基于mvc的,但是我对MVC一无所知。那么MVC有什么用呢? 是为了速度、安全还是其他原因?
【问题讨论】:
MVC 允许您将业务逻辑与表示层分离。这种“关注点分离”允许您快速查找和编辑部分代码。它还可以在您的系统中轻松重用您的 UI 组件。
查看 wiki 页面,了解 MVC http://en.wikipedia.org/wiki/Model_view_controller 的过度学术和技术介绍
【讨论】:
MVC 主要是为了更好地维护您的代码。通过将数据库逻辑与表示逻辑与控制器逻辑分开,您可以更轻松地进行更改/重写/维护。
【讨论】:
它还解决了“意大利面条代码”的问题,您可以将您的 HTML/XML/PDF/XSL 创建代码外包给您的视图/模板引擎,从您的模型中获取数据(数据库/文件/远程调用,... )并且您的控制器控制两者的行为,如果您正确实施,您也可以简单地交换视图/模型,甚至无需更改控制器,因此您可以获得关注点分离,获得更好的代码和可维护性,并且可以轻松交换组件 如果您的项目增长,它也更容易管理。我建议使用 FrontController,它根据用户输入为您选择正确的控制器,您还可以在那里使用控制反转/依赖注入模式,并让您的控制器由您的 FrontController / Pass DB Connection 和很多很多很多更多有趣的东西 现在你得到了一个简单的应用程序框架:) 使用 Zend 代替:)
【讨论】: