Android框架设计总结

相关网盘免费资源下载...

 

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

 

相关网盘免费资源下载...

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值