android -Framwork IOC及Application MVC

来源:互联网 发布:java中间件 是什么 编辑:程序博客网 时间:2024/06/10 03:30

代码分层、分离,封装    

> 精通applicationframework,你就可以真正的理解android的设计和运行机制,也就更能够驾驭整个应用层的开发。
 android的官方建议应用程序的开发采用mvc模式。何谓mvc?
mvc是model,view,controller的缩写,Android中界面部分也采用了当前比较流行的MVC框架,在Android中
  模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。
  视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。
  控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,想用用户出发的相关事件,交给m哦得了处理。
 android鼓励弱耦合和组件的重用,在android中mvc的具体体现如下:
  1)视图层(view):一般采用xml文件进行界面的描述,使用的时候可以非常方便的引入,当然,如何你对android了解的比较的多了话,就一定可以想到在android中也可以使用javascript+html等的方式作为view层,当然这里需要进行java和javascript之间的通信,幸运的是,android提供了它们之间非常方便的通信实现。
  2)控制层(controller):android的控制层的重任通常落在了众多的acitvity的肩上,这句话也就暗含了不要在acitivity中写代码,要通过activity交割model业务逻辑层处理,这样做的另外一个原因是android中的acitivity的响应时间是5s,如果耗时的操作放在这里,程序就很容易被回收掉。
  3)模型层(model):对数据库的操作、对网络等的操作都应该在model里面处理,当然对业务计算等操作也是必须放在的该层的。就是应用程序中二进制的数据。

  android框架魅力的源泉在于ioc,在开发android的过程中你会时刻感受到ioc带来的巨大方便,就拿activity来说,下面的函数是框架调用自动调用的:
  protected void onCreate(bundlesavedinstancestate);
  不是程序编写者主动去调用,反而是用户写的代码被框架调用,这也就反转了!

在Android SDK中的数据绑定,也都是采用了与MVC框架类似的方法来显示数据。在控制层上将数据按照视图模型的要求(也就是Android SDK中的Adapter)封装就可以直接在视图模型上显示了,从而实现了数据绑定。比如显示Cursor中所有数据的ListActivity,其视图层就是一个ListView,将数据封装为ListAdapter,并传递给ListView,数据就在ListView中现实。 

   》MVC的优点:
  (1)耦合性低。所谓耦合性就是模块代码之间的关联程度。利用MVC框架使得View(视图)层和Model(模型)层可以很好的分离,这样就达到了解耦的目的,所以耦合性低,减少模块代码之间的相互影响。
  (2)可扩展性好。由于耦合性低,添加需求,扩展代码就可以减少修改之前的代码,降低bug的出现率。
  (3)模块职责划分明确。主要划分层M,V,C三个模块,利于代码的维护。

0 0