代码改变世界

随笔分类 - Android/Java 设计模式

Android Ap 开发 设计模式第九篇:桥接模式

2011-07-26 20:30 by Terry_龙, 3896 阅读, 收藏, 编辑
摘要:Bridge Pattern模式解读 bridge 是“桥梁”的意思。就像现实社会里的桥梁担负着连接两岸的重大责任一样,Bridge Pattern也是负责连接2个不同位置的参与者。 桥接模式沟通着“功能的类层次”和“实现的类层次”。将“功能的类层次”和“实现的类层次”分成2个独立的类层次可能会弄得支离破碎,所以必须在2个类层次之间建一座沟通的桥梁。程序示例 按照上面的分法,本例可以分为4个类按照“功能的类层次”和“实现的类层次”分开,分别为:功能的类层次 Display 该类为打印内容的类 CountDisplay 该类不仅可以打印内容还可以参数指定打印次数实现的类层次 DisplayIm. 阅读全文

Android Ap 开发 设计模式第八篇:抽象工厂模式

2011-07-25 21:27 by Terry_龙, 5957 阅读, 收藏, 编辑
摘要:Abstract Factory Pattern模式解读 abstract 是“抽象”,factory 是“工厂”,所以合起来abstract factory 就是“抽象工厂”的意思。Abstract Factory Pattern 中的抽象工厂则是把各种抽象零件合成抽象产品。换句话说,处理的重点是在接口(api)而不是零件的具体实现。只利用接口(API)就能把零件组合成产品。 模板方法模式和生成模式的情形 是在子类进行具体的实现,而抽象工厂模式也同样是由子类来处理具体 的实现。在子类就会出现具体工厂利用具体零件组合而成的具体产品。程序示例 本篇涉及的类较多,较之单例模式而言理解真来比较难。. 阅读全文

Android Ap 开发 设计模式第七篇:生成器模式

2011-07-18 21:31 by Terry_龙, 2140 阅读, 收藏, 编辑
摘要:Builder Pattern模式解读 生活在深圳这所高速发展的城市,高楼大厦林立。所谓万丈高楼平地起,在我们感慨楼层的高耸之外,更要配服楼层的建造者和设计者。大楼首先得打稳地基、搭建骨架,再由下往上一层层盖上去。而这样的架构从程序的设计模式来说有个专用名词叫:“Builder ”。 场景模拟 由一个固定的建筑材料“固定的字符串”,然后将这些建筑材料组合拼装,按照楼层的需要建造不同的大楼层,如:商务层、购务层、停车层等“组合拼装字备份域控制器串”。功能演示 测试程序结构图如下: UML图中,共有四个类: Builder 抽象类:不含实际处理内容,仅声明抽象方法。 Director 类:负责产. 阅读全文

Android Ap 开发 设计模式第六篇:原型模式

2011-07-14 21:26 by Terry_龙, 2338 阅读, 收藏, 编辑
摘要:Prototype Pattern名称由来 不是利用类来产生实例对象,而是从一个对象实例产生出另一个新的对象实例 ,根据被视为原型的对象实例 ,建立起的另一个新的对象实例就称为原型模式(Ptototype Pattern)。需求场景种类过多无法整合成类时第一种情形:若须处理的对象种类太多,如果要一个个设成不同的类,须产生大量的源程序文件不容易利用类产生对象实例时第二种情形:该对象的实例产生过程太复杂,很难利用类来建立。希望把框架和所产生的对象实例分开时第三种情形:希望让产生对象实例时的框架不会只存在于某些特殊类时。功能演示 测试程序类结构图如下: 模式UML图中,共有三个类:接口,Produ. 阅读全文

Android Ap 开发 设计模式第五篇:单件模式

2011-07-13 20:36 by Terry_龙, 2881 阅读, 收藏, 编辑
摘要:Singleton Pattern名称由来java 是一门面向对象的语言,android 用的也是java 开发ap ,在java/C# 里面所有的物体(类)都可以看作是一个对象,而要使用这个对象无外乎为它在内存里面分配一个对象,一般情况下最直接的方法是new 一个对象,让它存在于内存中。 单件/例模式是所有设计模式中可以说是最简单最易懂的一种编程方式 ,想保证某个特定类的对象实例绝对只有一个时,想在程序上表达出对象实例只会有一个时,这种做法就被称为单件/例模式。 Singleton 是指只有1个元素的集合。就是因为它只会有1 个对象实例,因而得名。由于其简单性,在此就不把UML图画出来了。. 阅读全文

Android Ap 开发 设计模式第四篇:工厂方法模式

2011-07-12 21:07 by Terry_龙, 3248 阅读, 收藏, 编辑
摘要:Factory Method Pattern模板模式的衍生品? 以Template Method Pattern 架构获取产生对象实例的工厂就是Factory Method Pattern。 工厂方法模式在父类规定对象的创建方法,但并没有深入到较具体的类名。所有具体的完整内容 都放在子类。根据这个原则,我们可以大致分成产生对象实例的大纲(框架)和实际生产对象实例的类两方面。场景模拟 以一个工厂进厂打工为原型,工人们进厂须先登记信息,由所登记的信息进入创建工卡,工人们每天进厂必须使用工卡打卡,开始一天的劳动。以此为例,进行编程,设计UML图如下:程序实现 抽象类Product定义抽象方法cre. 阅读全文

Android Ap 开发 设计模式第二篇:适配器模式

2011-07-06 21:05 by Terry_龙, 3670 阅读, 收藏, 编辑
摘要:Adapter Pattern 适配器模式似曾相识 做过Android Ap开发的朋友一般情况下都会用到Google 提供的BaseAdapter 适配器做扩展,用来填充ListView、GridView 等窗口控件。用过的朋友都会觉得很简单很方便就可以对控件做一个数据源。而BaseAdapter 正是一个适配器,Google 考虑到适配器的一个特性则可以如此概括用 “既有内容” 去实现 “需要结果” 。Adapter Pattern 适配器模式共分为两种:类的 Adapter Pattern (即所谓的继承)对象的 Adapter Pattern (即所谓的委托)场景需求 给定的一个字符串. 阅读全文

Android Ap 开发 设计模式第一篇:迭代器模式

2011-07-05 21:18 by Terry_龙, 5570 阅读, 收藏, 编辑
摘要:Iterator Pattern迭代器模式场景猜想 经常编写代码都会碰到遍历一个数组,使用for循环得到数组下标之后去做进一步操作。例如下文代码:int[]array=newint[5];for(inti=0;i<array.length;i++){System.out.println(""+i);}或:int[]array=newint[5];for(inti:array){System.out.println(""+i);}当然,还有更多的作法,利用将 i 将下标推移的方式遍历数组元素。 使用设计模式来编写的时候,可以将 i 的行为,抽象化为迭 阅读全文