随笔分类 - 设计模式
摘要:1,装饰器模式利用包含代替继承,动态的给一个对象添加一些额外的功能。如下图UML,右侧采用装饰模式后实现。2,装饰器角色描述: -1,抽象构建角色(Component):接口,封装了将要实现的方法,如ILogger。 -2,具体构建角色(ConcreteComponent):多个类,实现了抽象构...
阅读全文
摘要:1,命令模式:主要针对需要执行的任务或用户提出的请求进行封装与抽象。抽象的命令接口描述了任务或请求的共同特征,而实现交由不同的具体命令对象完成。每个命令对象都是相互独立的,它负责完成需要执行的任务,却并不关心是谁调用的。2,UML模型:3,角色分析: -1,ICommander:抽象命令者,是一个...
阅读全文
摘要:1,访问者模式的目的是封装一些施加于某种数据结构元素之上的操作,一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。为不同类型的元素提供多种访问操作方式,且可以在不修改原有系统的情况下增加新的操作方式,这就是访问者模式的动机。2,UML图:3,访问者角色: IElement:抽象的事物元...
阅读全文
摘要:1,状态模式:事务有n个状态,且维护状态变化。2,UML模型:-1,上下文环境Context:定义客户程序需要的接口并维护一个具体状态角色的实例,将与状态相关的操作委托给当前的Concrete State对象来处理。-2,抽象状态State:定义接口以封装上下文环境的一个特定状态的行为。-3,具体状...
阅读全文
摘要:1,代理模式:一个类可以用作其他东西的接口,其他类可以通过此类去访问被代理者。2,UML图如下:3,角色: ISubject:抽象主题接口,该接口定义对象和它的代理共用的接口。 RealSubject:真实主题角色,使实现抽象主题接口的类。 Proxy:代理角色,内部含有对真实对象的引用,从而...
阅读全文
摘要:1,桥接模式:将抽象部分与实现部分分离,使他们可以独立变化。桥接模式可以实现的是不同方式的组合完成不同的功能,方式和功能完全分离,使得相互不影响。2,UML模型:3,简单代码实例:/** * * @(#) IPost.java * @Package pattern.chp06.bridge.simp...
阅读全文
摘要:1,观察者模式适合解决多种对象跟踪一个对象数据变化的程序结构问题,一个称作“主题”的对象和若干个称作“观察者”的对象。在主题对象更新后会通知所有的观察者,使他们自动更新自己。2,观察者UML类图:3,角色解释:-1,抽象观察者(IObserver):为所有具体观察者定义接口,在得到主题通知的时候,更...
阅读全文
摘要:1,生成器的模式的意图在于将一个复杂的构建与其标识相互分离,是的同样的构建过程可以创建不同的表示。建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成不同的内部表象的产品。2,生成器模式UML图:-1,建造者IBuilder角色:给出一个抽象接口,以规范产品对象各个...
阅读全文
摘要:1,简单工厂-1,定制抽象接口。-2,定制具体子类。-3,定制工厂类,通过工厂类的静态方法返回不同的子类对象。packagepattern.chp02.facroty;/***类描述:汽车接口**@author:Jing*@version$Id:Exp$**History:Dec18,201410:...
阅读全文
摘要:1,JDK中反射类包含的内容: -1,Class类,代表一个类。 -2,Constructor,代表类的构造方法。 -3,Field,代表类成员 -4,Method,代表方法。2,统一调用形式: 一个基本的使用反射的例子如下:packagecom.use;importjava.lang.r...
阅读全文

浙公网安备 33010602011771号