设计模式
iteye_17805
这个作者很懒,什么都没留下…
展开
-
策略模式
主要特点1.定义一系列算法,这些算法都完成相同的工作,只是实现不同2.strategy 层次的context 主要实现具体算法方法的实现3.客户层次的调用,由客户层决定调用具体的算法4.封装算法的变化,定义算法家族,算法之间可以相互替换,而不影响使用的客户interface Ioperate{ public void operate();}class des...原创 2011-06-27 11:19:59 · 64 阅读 · 0 评论 -
装饰模式【Decorator Pattern】
1.装饰模式即为已有的功能动态地添加功能的一种方式2.装饰模式提供一个解决方案,把每个需要装饰的功能放在单独的类中,同时包装需要装饰的对象,客户端在运行时可以根据需要有选择的运行or不运行 abstract class design_Pattern_Decorator_Pattern_Commont { public abstract void design_Pattern_...原创 2011-07-12 13:55:05 · 82 阅读 · 0 评论 -
建造者模式(生成器模式)
1.将复杂的对象的构建与其表示分离,使同样的构建过程可以有不同的表示代码如下//父类抽象,采用模板方法模式,定义一系列算法,抽象,定义一模板,由sequence 动态决定算法是否执行 //子类将继承该类并实现3个算法 abstract class design_mode_Builder_Pattern_Model { private ArrayList<String...原创 2011-07-07 14:53:23 · 56 阅读 · 0 评论 -
模板方法模式【Template Method Pattern】
1.模板方法模式可以把不变行为搬移到超类,去除子类重复2.提供一个很好的代码复用平台3.主要实现即使在父类中定义一系列抽象的行为,然后定义一个模板方法,在该方法中定义各抽象行为的执行顺序同时在子类中将重写父类的抽象方法 // 定义抽象类,即模板。里面会有一个模板方法,给出顶级逻辑骨架,逻辑组成的方法则在子类中实现 abstract class des...原创 2011-07-06 10:10:22 · 89 阅读 · 0 评论 -
适配器(adapter)模式
1.2个类完成相同或相似的工作,但具有不同的接口2.使用适配类时,客户端只需要面对同一的接口原创 2011-07-05 16:54:03 · 66 阅读 · 0 评论 -
门面模式(外观模式)
1.提供一个类,封装对子系统的操作,使子系统更加容易使用2.提供多个子系统,增加门面类可以减少各子系统间的依赖3.客户端只需要关注门面类中方法,而不用关心子系统 // sub System class design_mode_Facade_Sub_System1 { public void design_mode_Facade_Sub_System1_Method(...原创 2011-07-04 10:26:25 · 72 阅读 · 0 评论 -
单例模式
1.单例模式主要防止同一类有多个对象存在,如限制多窗体应用,统一db 连接等2.主要实现方式即为私有化构造函数,防止外部new,在内部再返回实例化的对象3.需考虑线程安全4.几种实现方式4.1通用的非线程安全class Design_mode_singleton_Usual{ private static Design_mode_singleton_Usual _Des...原创 2011-07-01 09:51:59 · 73 阅读 · 0 评论 -
代理模式
1.代理模式主要是控制实际操作对象,为其他对象提供代理,给客户呈现的是代理类的操作,但实际上操作的却是实际类2.实现方式即让代理类和实际类共享同样的接口,在代理类中关联实际操作类3.如 类Proxy_Real 有一方法Proxy_Real_Method,但在客户端通过代理类来展示 interface IProxy_Real { public void Proxy_Real_Met...原创 2011-07-01 09:34:11 · 74 阅读 · 0 评论 -
抽象工厂模式
1.提供一个抽象工厂接口,提供所有产品创建的方法2.客户端只提供工厂接口以及抽象产品接口3.如果增加一个产品,除了扩展抽象产品等,还需更改抽象工厂4.可以考虑将简单工厂来优化抽象工厂,具体是在简单工厂中分别返回各产品实例,这样,有新的产品增加时,只需扩展新的产品,再修改统一工厂类,工作量相比抽象工厂要小很多 interface ProductA { public ...原创 2011-06-30 10:57:30 · 66 阅读 · 0 评论 -
简单工厂VS工厂方法
简单工厂 1.自定义多个算法 2.算法的实现在工厂类中实现,工厂类中包含一些算法逻辑,根据客户端选择条件动态管理相关类 3.客户端不需要指明调用的算法类 4.对新的产品or算法可扩展,但同时需要修改工厂实现类,实现对修改开发,工厂方法模式 1.对具体产品有自己的产品工厂 2.对实现哪个产品的判断移动到客户端来判断,需要由客户端选择实现的工厂,生成产品 ...原创 2011-06-29 11:54:14 · 198 阅读 · 0 评论 -
迭代器模式【Iterator Pattern】
不多说了,直接贴代码interface Iproduct { public void Add(String Name); public String GetProductInfo(); public IproductIterator iterator(); } interface IproductIterator extends Iterator ...原创 2011-07-13 11:16:53 · 67 阅读 · 0 评论