全面理解Android开发中的MVC模式

Android的官方建议应用程序的开发采用MVC 模式。

  (一)MVC Model,View,Controller 的缩写,MVC 包含三个部分:

 1模型(Model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。

 2视图(View)对象:是应用程序中负责生成用户界面的部分。也是在整个

MVC架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。

 3控制器(Control)对象:是根据用户的输入,控制用户界面数据显示及更新

Model对象状态的部分,控制器更重要的一种导航功能,想用用户出发的相关事件,交给M处理。

 

(二)在Android MVC的具体体现如下

     1)视图层(view):一般采用xml文件进行界面的描述,使用的时候可以非常方便的引入,当然,如何你对android了解的比较的多了话,就一定可以想到在android中也可以使用javascript+html等的方式作为view层,当然这里需要进行javajavascript之间的通信,幸运的是,android提供了它们之间非常方便的通信实现。

  2)控制层(controller):android的控制层的重任通常落在了众多的acitvity的肩上,这句话也就暗含了不要在acitivity中写业务逻辑代码,要通过activity交割model业务逻辑层处理,这样做的另外一个原因是android中的acitivity的响应时间是5s,如果耗时的操作放在这里,程序就很容易被回收掉。

  3)模型层(model):对数据库的操作、对网络等的操作都应该在model里面处理,当然对业务计算等操作也是必须放在的该层的。


(三)使用MVC模式设计的好处

(1)一个模型提供不同的多个视图表现形式,也能够为一个模型创建新的视图而无须重写模型。一旦模型的数据发生变化,模型将通知有关的视图,每个视图相应地刷新自己。

(2)模型可复用。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。

(3)提高开发效率。在开发界面显示部分时,你仅仅需要考虑的是如何布局一个好的用户界面;开发模型时,你仅仅要考虑的是业务逻辑和数据维护,这样能使开发者专注于某一方面的开发,提高开发效率。


(四)使用MVC模式设计的缺点

    (1)没有明确的定义完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。同时由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难。每个构件在使用之前都需要经过彻底的测试。

    (2)不适合小型,中等规模的应用程序花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。

    (3)增加系统结构和实现的复杂性对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。

    (4)视图与控制器间的过于紧密的连接视图与控制器是相互分离,但却是联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。

    (5)视图对模型数据的低效率访问依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。

    (6)一般高级的界面工具或构造器不支持模式改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,会造成MVC使用的困难。

猜你喜欢

转载自blog.csdn.net/shouzhuodeshouzi/article/details/80729082
今日推荐