对于很多c/c++程序员初入android开发来说,如果你没有认证学习过java的设计模式,不理解托管语言的oop设计方法,可能你的应用变得很结构化,对于项目管理、架构扩展来说将会存在很多问题,android123参看了目前国内很多应用发现很多代码完全就不是一个java程序员写出来的,虽然能用但是这样设计对于日后的维护等方面将会有很严重的问题.
目前注明的主要有23种设计模式,就常规的java设计模式android开发网给大家应该掌握的主要有以下:
一、创建型模式
1. 工厂方法模式
2. 单例模式
3. 生成器模式
二、行为型模式
1. 迭代器模式
2. 责任链模式
3. 观察者模式
4. 模板方法模式
三、结构型模式
1. 代理模式
2. 外观模式
由于设计模式讲解较费时,具体的android123分多个章节具体描述,同时希望初入java开发的网友先深刻了解下java的抽象类、接口和继承相关的问题,以便理解今后相关的内容。
今天我们就android开发中的一些设计模式做一些基础性的掌握,在上一次的 android开发之java设计模式入门篇 中我们提到了一些有关 java基础内容,本次就android项目的架构设计相关内容做分析:
1. 静态工厂方法
静态工厂方法可以算是工厂方法加单例模式的整合在android平台上,由于android的context可以很好的传递实例,静态工厂方法可以提到传统的类构造器,对于一些逻辑的服务提供类可以考虑这样的设计,比如文件下载、图片裁剪等操作。
2. java的类访问权限
对于程序的可靠性而言,成员变量尽量私有,通过暴漏公开的方法来访问这些私有成员,提供类似getxxx和setxxx这样的方法,不仅是java,这点c#对于属性的操作概念在dot net上已经深入人心,好处就是可以阻止继承后的访问换乱问题。
3. 使用枚举替代常量
java在jdk 1.5开始加入了enum枚举类,相对于常规的final int这样的定义一些常量更简单安全,毕竟常量是一堆类似整形的数值,打印起来没有过多的意义,枚举对于继承后访问的清晰度可以很好的杜绝隐患发生。
4. 使用列表优先于数组
java的集合类很方便,使用list类的列表在开销上比object [ ] 这样的数组大,但是对于泛型的支持而言更好用强大。也可以避免一些不必要的错误,比如
cwjobject [] obj= new int[1];
obj[1] = "android开发网测试"; //这样会在运行时抛出类似arraystoreexception这样的异常。
而使用列表则为:
list obj=new arraylist();
obj.add("android123测试"); // 由于传入列表的是字符串,和构造时类型的int不同,在编译时就提示错误,可以避免一些不必要的情况发生。
5. java的foreach代替for
java的foreach仍然使用for来写,这点和c#直接用foreach关键字有点不同,但是使用方法是一样的,除了更简洁外,其实foreach比传统的for更加优化,比如传统的for第二个限制位,一般访问属性或方法,比如说
for (int x=0;x关注我收藏该文与我联系
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/