设计模式
iteye_17805
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
策略模式
主要特点 1.定义一系列算法,这些算法都完成相同的工作,只是实现不同 2.strategy 层次的context 主要实现具体算法方法的实现 3.客户层次的调用,由客户层决定调用具体的算法 4.封装算法的变化,定义算法家族,算法之间可以相互替换,而不影响使用的客户 interface Ioperate { public void operate(); } class des...原创 2011-06-27 11:19:59 · 101 阅读 · 0 评论 -
装饰模式【Decorator Pattern】
1.装饰模式即为已有的功能动态地添加功能的一种方式 2.装饰模式提供一个解决方案,把每个需要装饰的功能放在单独的类中,同时包装需要装饰的对象,客户端在运行时可以根据需要有选择的运行or不运行 abstract class design_Pattern_Decorator_Pattern_Commont { public abstract void design_Pattern_...原创 2011-07-12 13:55:05 · 118 阅读 · 0 评论 -
建造者模式(生成器模式)
1.将复杂的对象的构建与其表示分离,使同样的构建过程可以有不同的表示 代码如下 //父类抽象,采用模板方法模式,定义一系列算法,抽象,定义一模板,由sequence 动态决定算法是否执行 //子类将继承该类并实现3个算法 abstract class design_mode_Builder_Pattern_Model { private ArrayList<String...原创 2011-07-07 14:53:23 · 90 阅读 · 0 评论 -
模板方法模式【Template Method Pattern】
1.模板方法模式可以把不变行为搬移到超类,去除子类重复 2.提供一个很好的代码复用平台 3.主要实现即使在父类中定义一系列抽象的行为,然后定义一个模板方法,在该方法中定义各抽象行为的执行顺序 同时在子类中将重写父类的抽象方法 // 定义抽象类,即模板。里面会有一个模板方法,给出顶级逻辑骨架,逻辑组成的方法则在子类中实现 abstract class des...原创 2011-07-06 10:10:22 · 119 阅读 · 0 评论 -
适配器(adapter)模式
1.2个类完成相同或相似的工作,但具有不同的接口 2.使用适配类时,客户端只需要面对同一的接口原创 2011-07-05 16:54:03 · 96 阅读 · 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 · 101 阅读 · 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 · 102 阅读 · 0 评论 -
代理模式
1.代理模式主要是控制实际操作对象,为其他对象提供代理,给客户呈现的是代理类的操作,但实际上操作的却是实际类2.实现方式即让代理类和实际类共享同样的接口,在代理类中关联实际操作类3.如 类Proxy_Real 有一方法Proxy_Real_Method,但在客户端通过代理类来展示 interface IProxy_Real { public void Proxy_Real_Met...原创 2011-07-01 09:34:11 · 104 阅读 · 0 评论 -
抽象工厂模式
1.提供一个抽象工厂接口,提供所有产品创建的方法 2.客户端只提供工厂接口以及抽象产品接口 3.如果增加一个产品,除了扩展抽象产品等,还需更改抽象工厂 4.可以考虑将简单工厂来优化抽象工厂,具体是在简单工厂中分别返回各产品实例, 这样,有新的产品增加时,只需扩展新的产品,再修改统一工厂类,工作量相比抽象工厂要小很多 interface ProductA { public ...原创 2011-06-30 10:57:30 · 98 阅读 · 0 评论 -
简单工厂VS工厂方法
简单工厂 1.自定义多个算法 2.算法的实现在工厂类中实现,工厂类中包含一些算法逻辑,根据客户端选择条件动态管理相关类 3.客户端不需要指明调用的算法类 4.对新的产品or算法可扩展,但同时需要修改工厂实现类,实现对修改开发, 工厂方法模式 1.对具体产品有自己的产品工厂 2.对实现哪个产品的判断移动到客户端来判断,需要由客户端选择实现的工厂,生成产品 ...原创 2011-06-29 11:54:14 · 226 阅读 · 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 · 95 阅读 · 0 评论
分享