您的位置:首页 > 移动开发 > Android开发

Android框架设计总结

2015-05-07 11:00 176 查看
1. java中将纯粹抽象类叫接口

2. Android架构经验:

① Android基本就是一个MVC框架了,你不需要再特别找其他所谓框架进行包装。我建议从component-orienteddesign入手,善用继承来写出customizedwidgets。说实话,你只要按照AndroidOnline Documentation操作即可。。。

② Android本身就是一个MVC框架,Java也是一个重量级的语言。

我觉得,不需要再加新的框架了,增加团队学习成本了。

你的精力应该花在拆解业务,分成若干个library,如何集成如何分工上面。

③ 把代码耦合降低,能抽象的抽象,提高代码的复用能力。MVC模块各司其职,不要参杂无关的东西。其实最主要的就是对业务的熟悉吧,把要实现的功能进行合理划分抽象基本就可以写出不错的代码了

④ android本身即是MVC了,所以我觉得可以发挥的地方是这三个模块的解耦和模块内的设计,比如怎么设计自定义的组件(builder模式等),组件能否与业务和呈现分离;能否用基类等方式设计抽象出比如activity生命周期回调,异步线程调用的共同的流程;用style和include等方法尽量让布局文件易于维护和复用。闭包等概念都能让你设计出更好的模型。这些东西在Android 源码和类似 efficient java中都能学到。我目前在做公司三个APP的合并,抽象出可以复用的业务逻辑和工具性的代码作为lib,也就是androidstudio里的module,
也是觉得要耗费一番精力。

3. Android设计模式:

android的官方建议应用程序的开发采用mvc模式。何谓mvc?先看看下图

  mvc是model,view,controller的缩写,从上图可以看出mvc包含三个部分:

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

  l视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。

  l控制器(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里面处理,当然对业务计算等操作也是必须放在的该层的。

4. 编程思想:

a 模块分离:举个小例子,有不少同学在Activity里做了很多事,甚至做了DAO、网络操作、数据解析,这不是很合理的,导致一个UI和逻辑之间的‘门面’挂载了过多的伤不起的‘难以承受之重’,阅读困难,逻辑庞大。(建议模块和代码遵循MVC模式,建议View视图、控制相关(内存管理、核心逻辑),数据相关(文件操作、数据库操作、网络操作、数据组装与解析、数据模型)各分一个相对独立大、小模块,模块内分层级架构(积极合理使用继承与实现等面向对象机制))。

b 单一职责:有的同学写类啥都可以干,管得了内存,控得住文件,做得了解析,搞得了组装,上得了天堂,下得了厨房。这个是模块分离的基础。

c 接口隔离:举个例子一个水果类在这里是卖水果功能,在那里却还可以买水果,这样是不太合理的,一个类对另一个类的依赖性建立在最小接口之上。一个接口一个角色,一种客户一种接口

5.Android框架设计教程:

深度剖析:Android应用开发及设计思想 http://blog.51cto.com/zt/401
Android Ap 开发 设计模式 http://blog.51cto.com/zt/144

6.Android设计模式:

Android进阶之大话设计模式 http://mobile.51cto.com/android-419145.htm
Android 开发设计模式 http://blog.51cto.com/zt/144
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: