陈超众iOS___之浅谈MVC好处与不足

来源:互联网 发布:ip的网络号和主机号 编辑:程序博客网 时间:2024/06/11 13:04

MVC 的优点

MVC 要求对应用分层,虽然会增加额外的工作,单产品的结构清晰,其应用通过模型可以得到更好的体现,具体变现如下: 

1.     具有多个试图对应一个模型的能力,在目前用户需求快速变化的情况下,可能希望通过多种方式访问应用。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统订单,不管是哪种,对订单的处理都是一样的,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型机多个视图即可解决问题。这样既减少了代码的重复,又减少了代码的维护量,一旦模型发生改变,也易于维护。

2.     由于模型返回的数据不带任何显示格式,为此这些模型也可直接因公寓接口。

3.     由于一个应用被分离为三层,因此有时仅改变其中的一层就能满足应用的变化需求。当应用的业务流程或者业务规则改变时只需改动MVC的模型层,其他两层可保持不变。

4.     由于控制层是把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。

5.     MVC 模式有利于软件工程化管理。由于不同的层各司其职,每一层的不同应用间具有某些相同的特征有利于通过工程化,工具化产生管理程序代码。

MVC 的不足

1.     增加了系统结构和实现的复杂性。对于简单的界面,如果严格遵循MVC 模式,使模型,视图和控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。视图与控制器的联系仍过于紧密,试图与控制器是既相互分离又确实联系紧密的部件,没有控制器,视图的应用会很有限,反之亦然,这样就妨碍了他们的独立重用。

2.     视图对模型数据的访问效率比较低,依据模型操作接口不同,试图可能需要多次调用次啊能忽的足够的显示数据,对未变化的数据不必要的频繁访问,也降低了操作性能

3.     当前多数高级的界面工具或构造器不支持MVC 模式,改造这些工具以适应MVC 需要,及建立分离的部件的代理是很高的,从而构造使用MVC的困难。

0 0