设计模式
cameljy
这个作者很懒,什么都没留下…
展开
-
组合模式
组合模式解决的问题是:每次用户可能使用不同的个体组合方式,而这些组合方式的个数可能是很大量级的,这时我们无法在程序中枚举每一种组合形式,然后对这种组合执行自己的操作。采用组合问题将无需枚举每种组合形式。 组合模式的UML: 涉及的各个元素:1.Component 是组合中的对象声明接口,在适当的情况下,实现所有类工人有接口的默认行为。声明一个接口用于访问和管理Comp...原创 2010-07-13 19:53:24 · 65 阅读 · 0 评论 -
适配器模式
适配器模式的组成:1) 目标(Target)角色:定义Client 使用的接口。2) 被适配(Adaptee)角色:这个角色有一个已存在并使用了的接口,而这个接口是需要我们适配的。3) 适配器(Adapter)角色:这个适配器模式的核心。它将被适配角色已有的接口转换为目标角色希望的接口。 适配器模式和代理模式主要区别在于:代理模式是不改变接口命名的;而适配器模式则强调接口转换。 更...原创 2010-08-19 12:56:38 · 144 阅读 · 0 评论 -
工厂模式
简单工厂模式: 对于比较简单的问题:对象种类不是树状结构关系,不强调必须符合“开闭原则”,使用简单工厂模式即可。注意:简单工厂模式的对象创建方法是static的,因此,简单工厂模式也叫做静态工厂模式。 //抽象产品类interface Ball{ public void play();}//具体产品类1class FootBall implements...原创 2010-07-14 15:14:21 · 73 阅读 · 0 评论 -
单例模式
简单单例模式1: public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { } public static Singleton getInstance() { return instance; }} 简单单...原创 2010-07-14 15:13:56 · 53 阅读 · 0 评论 -
模板模式
模板模式 //抽象类abstract class Templatee{ abstract void step1(); abstract void step2(); abstract void step3(); public final void execSteps(){ step1(); step2(); step3(); }}...原创 2010-07-14 15:13:19 · 63 阅读 · 0 评论 -
观察者模式
观察者模式的优点:观察者模式定义了一种一对多的依靠关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态上发生变化时,会通知所有的观察者对象,使他们能够自动更新自己. 应用场景举例: 一个软件系统经常要求在某一个对象状态发生变化的时候,某些其他的对象作出相应的改变.为了减少对象之间的耦合有利于系统的复用,但是需要这些低耦合的对象之间能够维持行动的协调一致,保证高调的动作....原创 2010-07-14 15:12:10 · 73 阅读 · 0 评论 -
策略模式
策略模式 interface FlyBehavior{ public void fly();}class FlyNoWay implements FlyBehavior{ public void fly(){ System.out.println("fly no way"); } }class FlyWithWings implements Fly...原创 2010-07-14 15:11:47 · 49 阅读 · 0 评论 -
装饰器模式
装饰器模式增加了被装饰对象相应方法功能。 //公共接口interface SellInterface{ public void sell();}//被装饰类class RadWineFactory implements SellInterface{ public void sell(){ System.out.println("RadWineFactory.s...原创 2010-07-14 15:10:58 · 63 阅读 · 0 评论 -
代理模式
代理模式中的三个角色:1. 声明真实对象和代理对象共同操作的接口2. 真实对象(被代理对象)3. 代理对象(包含被代理对象的一个对象引用) 静态代理模式: //公共接口interface SellInterface{ public void sell();}//真实类class RadWineFactory implements SellIn...原创 2010-07-14 15:10:24 · 77 阅读 · 0 评论 -
##命令模式
命令模式原创 2010-09-14 09:43:07 · 86 阅读 · 0 评论