随笔分类 -  设计模式

摘要:定义 定义 创建型模式抽象了实例化的过程。它将系统与它的对象创建、结合、表示的方式分离。 创建型模式都会将关于该系统使用哪些具体的类的信息封装起来。 在软件工程中,创建型模式是处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象。 基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂 阅读全文
posted @ 2015-06-03 15:05 静默虚空 阅读(1327) 评论(0) 推荐(0) 编辑
摘要:简介原型模式 (Prototype)用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式 (可参考 设计模式 创建型模式)。结构图-原型模式结构图Prototype:声明一个克隆自身的接口。ConcretePrototype:实现克隆自身的具体操作。Clien... 阅读全文
posted @ 2015-06-03 15:00 静默虚空 阅读(1389) 评论(0) 推荐(1) 编辑
摘要:简介建造者模式 (Builder)将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模式 (可参考 设计模式 创建型模式)。使用建造者模式,用户就只需要指定需要建造的类型,具体的建造过程和细节并不需要知道。结构图-建造者模式结构图Product : ... 阅读全文
posted @ 2015-06-03 10:32 静默虚空 阅读(1126) 评论(1) 推荐(2) 编辑
摘要:简介抽象工厂模式 (Abstract Factory)提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂模式是一种类创建型模式 (可参考 设计模式 创建型模式)。结构图-抽象工厂模式结构图抽象工厂模式包含以下角色:AbstractFactory(抽象工厂)ConcreteF... 阅读全文
posted @ 2015-06-03 10:26 静默虚空 阅读(2606) 评论(0) 推荐(2) 编辑
摘要:简介工厂方法模式 (Factory Method)定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其他子类。工厂模式是一种类创建型模式 (可参考 设计模式 创建型模式)。结构 图-工厂方法模式结构图 Product : 定义产品对象的接口。abstractclas... 阅读全文
posted @ 2015-06-03 10:03 静默虚空 阅读(1549) 评论(0) 推荐(0) 编辑
摘要:简介简单工厂模式 (Simple Factory) 又叫静态工厂方法(Static Factory Method)模式。简单工厂模式通常是定义一个工厂类,这个类可以根据不同变量返回不同类的产品实例。简单工厂模式是一种对象创建型模式 (可参考 设计模式 创建型模式)。但是简单工厂模式不属于23种Go... 阅读全文
posted @ 2015-06-03 09:41 静默虚空 阅读(1851) 评论(0) 推荐(4) 编辑
摘要:简介单例模式(Singleton Pattern)保证一个类只有一个实例,并提供一个访问它的全局访问点。单例模式是一种对象创建型模式 (可参考 设计模式 创建型模式)。 单例模式是设计模式中最简单的模式。它的用途就是使得类的一个对象成为系统中的唯一实例。结构图-单例模式结构图Singleton :... 阅读全文
posted @ 2015-06-03 09:24 静默虚空 阅读(1411) 评论(8) 推荐(1) 编辑
摘要:创建型模式 创建型模式 简单工厂模式 (Simple Factory Pattern) 单例模式 (Singleton Pattern) 工厂方法模式 (Factory Method Pattern) 抽象工厂模式 (Abstract Factory Pattern) 建造者模式 (Builder 阅读全文
posted @ 2015-01-27 16:50 静默虚空 阅读(2422) 评论(0) 推荐(4) 编辑
摘要:用途状态模式 (State)当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式是一种行为型模式。结构图-状态模式结构图State : 定义一个接口以封装与 Context 的一个特定状态相关的行为。abstractclassState{publicabstractvo... 阅读全文
posted @ 2015-01-23 10:29 静默虚空 阅读(1813) 评论(0) 推荐(1) 编辑
摘要:用途访问者模式 (Visitor)表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式是一种行为型模式。用途图-访问者模式结构图Visitor : 为该对象结构中 ConcreteElement 的每一个类声明一个 Visit 操作。... 阅读全文
posted @ 2015-01-22 18:25 静默虚空 阅读(1042) 评论(0) 推荐(1) 编辑
摘要:用途Title它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。策略模式是一种行为型模式。结构图-策略模式结构图Strategy : 定义所有算法的公共接口(AlgorithmInterface)。Context 使用这个接口去调用 Concre... 阅读全文
posted @ 2015-01-22 16:14 静默虚空 阅读(791) 评论(0) 推荐(1) 编辑
摘要:用途备忘录模式 (Memento)在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。备忘录模式是一种行为型模式。结构图-备忘录模式结构图Memento : 负责存储 Originator 对象的内部状态,并可以防止 Origina... 阅读全文
posted @ 2015-01-22 15:26 静默虚空 阅读(1005) 评论(0) 推荐(0) 编辑
摘要:用途职责链模式 (Chain Of Responsibility)使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。职责链模式是一种行为型模式。结构图-职责链模式Handler : 定义一个处理请求的接口... 阅读全文
posted @ 2015-01-22 14:34 静默虚空 阅读(789) 评论(0) 推荐(2) 编辑
摘要:用途中介者模式 (Mediator)用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式是一种行为型模式。结构图-中介者模式结构图Mediator : 为 Colleague 对象定义一个交流接口。abstractc... 阅读全文
posted @ 2015-01-22 13:34 静默虚空 阅读(1456) 评论(0) 推荐(2) 编辑
摘要:用途解释器模式 (Interpreter)定义一个语言,定义它的文法的一种表示。并定义一个解释器,这个解释器使用该表示来解释语言中的句子。解释器模式是一种行为型模式。结构图-解释器模式结构图Context : 包含解释器之外的一些全局信息。classContext{privateStringinp... 阅读全文
posted @ 2015-01-20 18:44 静默虚空 阅读(1400) 评论(0) 推荐(0) 编辑
摘要:用途观察者模式 (Observer)观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式是一种行为型模式。结构图-观察者模式结构图Subject : 主题类,保存所有订阅此主题的观察者,... 阅读全文
posted @ 2015-01-20 16:09 静默虚空 阅读(912) 评论(0) 推荐(0) 编辑
摘要:用途迭代器模式 (Iterator)提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。迭代器模式是一种行为型模式。结构图-迭代器模式结构图Iterator : 定义访问元素的接口。interfaceIterator{publicObjectfirst();publicObjec... 阅读全文
posted @ 2015-01-20 14:35 静默虚空 阅读(950) 评论(0) 推荐(0) 编辑
摘要:用途命令模式 (Command)将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化;对请求排队或请求日志,以及支持可撤销的操作。命令模式是一种行为型模式。结构图-命令模式结构图Command : 用来声明执行操作的接口。abstractclassCommand{protectedR... 阅读全文
posted @ 2015-01-19 17:20 静默虚空 阅读(2753) 评论(1) 推荐(2) 编辑
摘要:用途外观模式 (Facade)为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式是一种结构型模式。结构 图-外观模式结构图Facade : 了解每个子系统类的功能,负责分发客户端的请求给各个子系统去处理。classClass1{publi... 阅读全文
posted @ 2015-01-19 15:15 静默虚空 阅读(4022) 评论(1) 推荐(3) 编辑
摘要:用途代理模式 (Proxy)为其他对象提供一种代理以控制对这个对象的访问。代理模式是一种结构型模式。结构图-代理模式结构图Subject : 定义了 RealSubject 和 Proxy 的公共接口,这样就在任何使用 RealSubject 的地方都可以使用 Proxy 。abstractcla... 阅读全文
posted @ 2015-01-19 11:38 静默虚空 阅读(1035) 评论(0) 推荐(0) 编辑