对于很多C/C++程序员初入Android开发来说,如果你没有认证学习过Java的设计模式,不理解托管语言的OOP设计方法,可能你的应用变得很结构化,对于项目管理、架构扩展来说将会存在很多问题,Android123参看了目前国内很多应用发现很多代码完全就不是一个Java程序员写出来的,虽然能用但是这样设计对于日后的维护等方面将会有很严重的问题. 目前注明的主要有23种设计模式,就常规的Java设计模式Android开发网给大家应该掌握的主要有以下: 一、创建型模式 1. 工厂方法模式 2. 单例模式 3. 生成器模式 二、行为型模式 1. 迭代器模式 2. 责任链模式 3. 观察者模式 4. 模板方法模式 三、结构型模式 1. 代理模式 2. 外观模式 由于设计模式讲解较费时,具体的Android123分多个章节具体描述,同时希望初入Java开发的网友先深刻了解下Java的抽象类、接口和继承相关的问题,以便理解今后相关的内容。
设计模式
Android开发之Java设计模式入门篇 Android开发技术
有关Android开发相关的Java基础系列之设计模式入门篇,Android123帮助一些初入Java语言开发的程序员补充些常识性问题,可以帮助C/C++程序员少走些弯路。 1. 抽象类 – 在一个类的前面有abstract关键字,一般描述些公共属性,没有具体对象概念,比如 abstract class Android123 { } 2. 最终类 – 在一个类前面有final关键词,这样的类无法再被派生,没有子类,需要注意的是abstract和final不能同时出现在一个类中。final修饰的类为: final class Android123 { } 3. 接口 – 接口关键字interface,特点就是不能用new去实例化,同时C++和Java语言有本质不同,C++支持多重继承,可以继承多个父类,而Java只能集成一种类型的父类,定义方法如下: public interface Android123() { } 4. 抽象类和接口的区别 Java接口和Java抽象类表示的都比较抽象,接口只能是抽象和公开的,不能有构造器,也就是上面提到的不能被实例化,比如 public abstract class Android123() { public void CWJ() { //dosomething 这里可以写具体的实现方法 } […]
Android开发之Java设计模式基础篇 Android开发技术
今天我们就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<cwjObject> obj=new ArrayList<int>(); obj.add("android123测试"); // 由于传入列表的是字符串,和构造时类型的int不同,在编译时就提示错误,可以避免一些不必要的情况发生。 5. Java的foreach代替for Java的foreach仍然使用for来写,这点和C#直接用foreach关键字有点不同,但是使用方法是一样的,除了更简洁外,其实foreach比传统的for更加优化,比如传统的for第二个限制位,一般访问属性或方法,比如说 […]

