设计模式
kingSolider
最好的捷径就是一步一步走下去。
展开
-
command - 对象行为型模式
1.意图 将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化;对请求 排队或者记录请求日志以及支持可撤销的操作 2.参与者 Command - 声明执行操作的接口 ConcreteCommand -将一个接收者对象绑定于一个对象 -调用接收者...原创 2018-01-21 13:20:47 · 191 阅读 · 0 评论 -
memento -对象行为型模式
1.意图 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象外保存这个状态 这样就可以将该对象恢复到原先保存的状态 2.参与者 Memento - 存储对象状态 - 防止原发器以外的其它对象访问备忘录 Originato - 原发器创建一个备...原创 2018-12-22 11:37:37 · 268 阅读 · 1 评论 -
Observer -对象行为型模式
1.意图 定义对象间的一种一对多的关系,当一个对象的状态发生改变的时候,所有依赖 它的对象都得到通知。 2.参与者 Subject -目标知道它的观察者 -提供注册和删除它的观察者 Observer -为那些在目标中发生改变...原创 2018-12-22 11:41:52 · 567 阅读 · 0 评论 -
state - 对象行为模式
1.意图 允许一个对象在其内部状态改变的时候改变它的行为,对象看起来似乎下修改了它的类 2.参与者 Context - 定义客户感兴趣的接口 - 维护一个ConcreteState子类的实例,这个实例定义当前状态 State - 定义一个接口以封装与context的一个特定状态的行为 ConcreteState ...原创 2018-12-22 11:46:37 · 225 阅读 · 0 评论 -
strategy - 行为对象型模式
1.意图 定义一系列算法并且封装起来是它们可以相互替换。此模式可以使算法独立于使用的客户而变化 2.参与者 Strategy -定义算法的公共接口,Context调用具体算法 ConcreteStrategy - 实现具体的算法 Context - 用一个具...原创 2018-12-22 11:59:24 · 191 阅读 · 0 评论 -
template method -类行为型模式
1.意图 定义一个操作中的算法骨架,而将一些步骤延迟到子类。TemplateMethod使得子类 可以不改变算法的结构重新定义算法的某些特定的。 2.参与者 AbstractClass -抽象类定义抽象的原语操作,具体子类将重定义它们实现一个算法的各个步骤 -实现一个算法定义一个骨架。该算法骨架不仅调用原语操作,也调用定义在抽象 ...原创 2018-12-22 12:02:51 · 141 阅读 · 0 评论 -
visitor -对象行为型模式
1.意图 表示一个作用于某个对象结构中的各个元素的操作。它使你可以在不改变各个元素的类的 前提下定义这些元素的新操作 2.参与者 Visitor -为该对象结构ConcreteElement的每一个类声明一个visit操作。 ConcreteVisitor 实现每个visitor声明的操作 Element -定义一个Accept,它以一个访问者为参数 ConcreteE...原创 2018-12-22 12:06:45 · 190 阅读 · 0 评论 -
flyweight - 对象结构型模式
1.意图 运用共享技术有效的支持大量细粒度的对象 2.参与者 Flyweight - 描述一个接口flyweight可以接受并作用于外部状态 ConcreteFlyweight - 实现flyweight接口,并为内部状态增加存储空间。 FlyweightFactory - 创建对象确保合理的共享对象 3.结...原创 2018-12-17 15:51:54 · 143 阅读 · 0 评论 -
abstract factory -对象创建型模式
1.意图 提供一个创建一系列的相关或相互依赖的对象接口,而无需指定具体类 2.参与对象 AbstractFactory;ConcreteFactory;AbstractProduct;ConcreteProduct;Client 3.使用 系统的产品有多于一个的产品族,而系统只消费其中某一族的产品 4.相关技术 具体工厂使用单件 5.结...原创 2018-12-11 21:47:21 · 102 阅读 · 0 评论 -
proxy -对象结构型模式
1.意图 为其它对象提供一种代理以控制对这个对象的访问 2.参与者 Proxy - 保存一个引用使得代理可以访问实体 - 提供一个和subject的接口相同的接口 - 控制对实体的存取,并可能的创建和删除它 ...原创 2018-12-18 11:09:15 · 120 阅读 · 0 评论 -
chain of responsibility - 对象行为型模式
1.意图 使多个对象都有机会处理请求,从而避免发送者和接收者的耦合关系。将一些 对象连成一条链。并沿着这条链传递请求,直到有一个对象处理它为止 2.参与者 Handler -定义一个请求接口 -(可先)实现一个后继链 ConcreteHandler - 处理它所...原创 2018-12-18 15:06:20 · 96 阅读 · 0 评论 -
mediator - 对象行为型模式
1.意图 用一个中介对象封装一些列对象交互。中介使各对象不需要显示地相互引用,从而使 其耦合松散,而且可以独立的改变它们的交互。 2.参与者 Mediator - 中介者定义一个接口用于各同事对象通信 ConcreteMediator - 了解并维护它的各个同事 ...原创 2018-12-22 11:33:15 · 152 阅读 · 1 评论 -
facade - 对象结构型模式
1.意图 为子系统提供一个一致的界面,facade模式定义了一个高层接口,这个接口使得 这一系统更加容易使用 2.参与者 Facade - 知道哪些子系统类负责处理请求 - 将客户请求代理给适当的子系统对象 subsystem classess -实现子系统的功能 ...原创 2018-12-16 20:30:37 · 231 阅读 · 0 评论 -
decorator - 对象结构模式
1.意图 动态的给一个对象添加一些职责,decorator模式比生成子类更灵活 2.参与者 Compoment - 定义一个对象接口,可以给这些对象动态的添加职责 ConcreteCompoment - 定义一个对象,可以给这个对象动态地添加职责 Decorator - 维持一个指向component对象的指针,并定义一...原创 2018-12-16 19:09:28 · 180 阅读 · 0 评论 -
iterator - 对象行为型模式
迭代模式:提供一种顺序访问存储结构过程的模式。实现过程:一个接口类:Iterator,提供hasNext()和next()方法接口; 提供一个实现Iterator接口的迭代子类; 需实现顺序访问的类,提供一个生成迭代子类的方法Iterator(),在这个方法里面创建一个对应的迭代子类并将数据传递过去。代码:public...原创 2018-01-13 22:33:01 · 420 阅读 · 0 评论 -
adapter - 类对象结构型模式
1.意图 将一个类的接口转换成客户希望的接口,adapter模式使得原来由于接口不兼容的 而不能一起工作的那些类可以一起工作。 2.参与者 Target,Client,Adaptee,Adapter 3.相关模式 Bridge与对象适配器类似,但是出发点不同:Bridge目的是将接口部分和实现 ...原创 2018-01-14 15:50:33 · 197 阅读 · 0 评论 -
builder -对象创建模型
1.意图 将一个复杂对象和它的表示分离,使得同样的构建过程可以创建不同的表示 2.参与者 Builder -为创建product对象的各个部件提供接口 ConcreteBuilder -实现Builder的接口以构造和装配该产品 -定义并明确它所创建的表示 ...原创 2018-12-13 10:05:39 · 218 阅读 · 0 评论 -
Factory Method -对象创建模型
1.意图 定义一个用于对象创建的接口,让子类决定实例化哪个类,Factory Method 使一个类的实例化延迟到其子类。 2.参与对象 Product,ConcreteProduct,Creator,ConcreteCreator 3.结构 代码:public interfac...原创 2018-12-13 11:15:11 · 189 阅读 · 0 评论 -
prototype -对象创建模型
1.意图 用原型实例指定创建对象的种类并且通过拷贝这些原型创建新对象 2.参与者 Prototype,ConcretePrototype,client 3.结构代码:public abstract class Prototype implements Cloneable { public Object clo...原创 2018-12-13 19:52:44 · 170 阅读 · 0 评论 -
bridge - 对象结构型模式
1.意图 将抽象部分和它的实现部分分离,使它们都可以独立变化 2.参与者 Abstraction - 定义抽象接口 - 维护一个指向Implementor类型对象的指针 RefindAbstraction -扩充由Abstraction定义的接口 Implementor -定义实现类的接...原创 2018-12-15 18:53:13 · 214 阅读 · 0 评论 -
composite - 对象结构型模式
1.意图 将对象组合成树形结构以表示“部分-整体”的层次结构,composite使得用户对 单个对象和组合对象的使用具有一致性。 2.参与者 component -为组合中的对象声明接口 -在适当的情况下,实现所有类共有接口的缺省行为 -声明一个接口用于访问和管理compo...原创 2018-12-15 21:51:53 · 234 阅读 · 0 评论 -
创建型模式总结
创建型模式有四种:FactoryMethod、AbstractFactory、Builder、Prototype;再具体划分一些:1.通过生成对象类的子类的方法创建对象:FactoryMethod,2.定义一个对象负责明确产品对象类,并将它作为该系统的参数:AbstractFactory、Builder、Prototype,AbstractFactory 由这个工厂对象产生多个类的对...原创 2018-12-26 22:05:55 · 152 阅读 · 0 评论 -
interpreter -类行为型模式
1.意图 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用 该表示来解释语言中的句子。 2.参与者 AbstractExpression -(抽象表达式)声明一个抽象的解释操作,这个接口为 ...原创 2018-12-19 12:06:33 · 355 阅读 · 0 评论