1.一个典型的应用软件包括展现给用户界面的编码、业务处理模块编码、数据访问处理编码几个部分。如果将这些部分放在一起编程,则应用软件内部各元素耦合性非常高;现在人们常将它们分开开发,然后将它们组装成一个整体。
2.作为一种设计模式,MVC优缺点并存。
3.MVC有以下优点:耦合性低、重用性高、利于分工开发、可维护性高、有利于软件工程化管理等。
(1)耦合性低:MVC程序中用于视图层和业务层分离,所以在更改视图层代码后不必重新编译模型层和控制层代码。同样,用于模型层与控制层相分离,一个应用程序的业务流程或者业务规则发生了改变后,只需改动MVC的模型层即可。
例如,把数据库从MySQL移植到Oracle,只需改变模型即可。由于MVC的是三个部件相互独立,改变其中一个不会影响其他两个,所以用这种模式设计的软件具有良好的松散耦合性。
(2)重用性高:MVC允许使用各种不同样式的视图来访问同一个服务器的代码,因为多个视图共享一个模型。例如,用户可以通过计算机订购某种产品,也可以通过手机订购某种产品。虽然订购的方式不一样,但处理订购产品的方式是一样的,所以对应的模型可以是一样的,由于对模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。这些视图只需要改变视图层的实现方式,无需对控制层和模型层做任何改变,所以可以最大化地重用代码。
(3)利于分工开发:使用MVC利于团队协作开发,从而大幅度缩短开发时间。它使程序员(java开发人员)集中精力与业务逻辑,界面程序员(HTML和JSP开发人员、界面美工人员)集中精力于表现形式。
(4) 可维护性高:由于MVC的软件开发具有松耦合性,他将视图层和业务逻辑层分离,因此应用程序更易于维护和修改。
(5)利于软件工程化管理:用于不同层各司其职,每一层不同的应用具有相同的特征,这样就可以对程序进行工程化、工具化管理。控制器可用来连接不同的模型和视图去完成用户的需求,从而为构造应用程序提供了强有力的手段,给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。
2.另外,由于MVC呢部原理比较复杂,理解起来并不容易。所以,在使用MVC时需要精心地计划,需要花费一定的时间去思考。MVC有调试较困难、不利于中小型软件开发、增加系统结构和实现的复杂性、视图与控制器耦合度过强、视图对模型数据访问效率低的缺点。
(1)调试较困难:模型和视图分离给调试应用程序带来了一定的困难,所以每个部件在使用之前都需要经过彻底的测试。
(2)增加了系统结构和实现的复杂性:对于简单界面的开发,也需严格遵循MVC,使模型、视图与控制器分离,这会增加结构的复杂性,并可能产生过多的更新操作,降低运行的效率。
(3)不利于中小型软件开发:花费大量时间将MVC应用到规模并不很大的应用程序,在工作量、成本、时间等方面常常得不偿失,所有对中小型软件的开发,可不选择MVC模式。
(4)视图与控制器耦合度过强:视图与控制器虽相互分离,但却是联系紧密的部件,没有控制器的存在,视图的应用是很有限的,反之亦然,这样就会妨碍了它们的独立重用。
(5)视图对模型的访问效率过低:由于模型接口的不同,视图可能会需要多次调用才能获得足够的显示数据。对于未变化数据的不必要的频繁访问,也将损害操作性能。
MVC的设计模式为某一类问题提供了通用的解决方案,同时优化了代码,从而使代码更容易被人理解,提高了代码的复用性,并保证了代码的可靠性。
MVC三层结构应用程序开发的优缺点
最新推荐文章于 2022-11-21 00:04:48 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)