为什么MVC概念很重要?

Sea*_*242 5 architecture model-view-controller

在开发应用程序时,模型视图控制器概念在所有地方都表达为重要的事项.但是在开发应用程序时,我很难区分我是否使用MVC模型以及这是否会损害我的应用程序.为什么MVC概念在应用程序开发中很重要?它如何帮助开发人员制作更好的程序?

Vu *_*ran 8

好吧,就像在生活中做很多事情一样,组织良好总是有帮助的.模型,视图和控制器是明显不同的代码片段,有助于为整个项目提供不同的功能.因此,它们是分开和有组织的.

想象一下,如果你正在设计一个程序.您不会将所有代码都放在一个函数中,是吗?不,您可以将它们分成单独的小函数来解决非常具体的任务.同样,作为程序员,我们一直在寻找将大型应用程序分离并分成较小部分的方法.其中一种组织设计模式是MVC,其中,模型(数据)存在于一个部分中,视图(UI)存在于一个部分中,控制器(逻辑)存在于另一个部分中.

这解决了什么问题?好吧,就像分离函数如何解决可读性,模块性和耦合性问题一样,MVC也是如此.假设您想要更改一段代码,您可以在较小的子集中处理它,该子集或多或少地与较大的代码段隔离.这允许您更有效和逻辑地添加,修改或删除代码.它还有助于测试,因为类似的代码被分组,您可以更好地覆盖测试用例.同样非常重要的是,您最终编写的代码更少.

希望这可以帮助.


Pet*_*lly 5

您听说过“关注点分离”吗?简而言之,MVC是一种体系结构,它允许系统的不同部分进行松散耦合(或分离)。视图通常是愚蠢的,显示数据并采取用户操作。模型代表系统中的数据和域逻辑。控制器在视图和模型之间保持联系,经常控制流程。原始Smalltalk MVC模式上有很多变体,如今看来每个框架都是MVC。

优点是它使您的代码不那么脆弱,更易于理解和更改,并且更易于进行单元测试。全部是因为它分为不同的部分。

一个很好的例子是,我最近换了工作,开始用PHP开发一个新项目(我来自.NET背景)。由于使用了MVC框架,因此学习起来容易得多。因为我已经知道了模式,所以我知道了一切“都在哪里”,以及如何将系统组合在一起。

http://zh.wikipedia.org/wiki/模型–视图–控制器 https://gamedev.stackexchange.com/questions/5372/mvc-like-compartmentalization-in-games