
设计模式
stanwuc
这个作者很懒,什么都没留下…
展开
-
GOF设计模式(01)工厂方法模式
简介一、引入1、简单工厂局限性(静态工厂方法)工厂类过于庞大,包含了大量的if…else…代码,导致维护和测试难度增大;系统扩展不灵活,如果增加新类型的产品,必须修改静态工厂方法的业务逻辑,违反了“开闭原则”;二、定义工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类不再...原创 2019-08-13 16:54:39 · 145 阅读 · 0 评论 -
GOF设计模式(12)访问者模式
简介一、定义访问者模式(Visitor Pattern):提供一个作用于某对象结构中的各元素的操作表示,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式是一种对象行为型模式。访问者模式可以为为不同类型的元素提供多种访问操作方式,而且可以在不修改原有系统的情况下增加新的操作方式;具体的执行过程是:具体元素----具体访问者----具体元素二、组件Vist...原创 2019-09-02 14:45:46 · 385 阅读 · 0 评论 -
GOF设计模式(11)享元模式
简介一、定义1、概念享元(Flyweight)模式:运用共享技术有效地支持大量细粒度对象的复用,是一种结构型模式。2、理解可以设计为享元对象的是相似度高、状态变化小,需要多次复用的细粒度对象;设计享元对象是核心,关键在于内外部状态的分离,内部状态自行设置,外部状态需要运行传入(可以将外部状态设计为一个类);二、组件Flyweight(抽象享元类):一个接口或抽象类,声明了具体享元类...原创 2019-09-02 14:38:40 · 144 阅读 · 0 评论 -
GOF设计模式(08)组合模式
简介一、定义组合(Composite)模式:组合多个对象形成树形结构以表示具有“整体-部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“部分-整体”(Part-Whole)模式,它是一种对象结构型模式。二、组件Component(抽象构件):它可以是接口或抽象类,为叶子构件和容器构件对象声明接口,在该角色中可以包含所...原创 2019-08-14 15:53:59 · 198 阅读 · 0 评论 -
GOF设计模式(07)命令模式
简介一、定义1、概念命令(Command)模式:将一个请求封装为一个对象,从而可以用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事物(Transaction)模式。2、理解此模式的本质在于:对请求进行封装,一个请求对应一个命令,将发出命令的责任和执行命令的责任分割开,使得请求的一方不...原创 2019-08-14 15:00:22 · 198 阅读 · 0 评论 -
GOF设计模式(10)外观模式
简介一、定义1、概念外观(Facade)模式:外部与一个子系统的通信通过一个统一的外观角色进行,为子系统中的一组接口提供一个一致的入口,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。2、理解外观类维护要用的子系统的引用,提供一个对外的统一的访问接口,在这个接口里对要用的子系统的接口方法进行调用;二、组件Facade(外观角色):在客户端可以调用它的方法,在...原创 2019-08-19 13:40:49 · 374 阅读 · 0 评论 -
GOF设计模式(09)装饰模式
简介一、定义1、概念装饰(Decorator)模式:动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式远比生成子类实现更加灵活。装饰模式是一种对象结构型模式2、理解抽象装饰类和具体的构件类都继承抽象构件的原因是想用装饰器包装构件之后还是面对同样的方法接口;二、组件Component(抽象构件):它是具体构件和抽象装饰类的共同父类,声明了在具体构件中实现的业务方...原创 2019-08-19 12:25:56 · 165 阅读 · 0 评论 -
GOF设计模式(06)职责链模式
简介一、定义职责链(Chain of Responsibility)模式:避免将请求发送者与接受者耦合在一起,让多个对象都有机会接受请求,将这些对象连成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式。二、组件Handler(抽象处理者):它定义了一个处理请求的接口,一般设计为抽象类,由于不同的具体处理者处理请求的方式不同,因此在其中定义了抽象请求...原创 2019-08-13 17:29:00 · 170 阅读 · 0 评论 -
GOF设计模式(05)建造者模式
简介一、定义1、概念建造者模式(Builder):将一个复杂对象的构建与它的表示相分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模式。2、理解将客户端与包含多个组成部分的复杂对象的创建过程分离,客户端只需要知道所需的建造者即可不同的具体建造者定义了不同的创建过程,且具体建造者相互独立,增加新的建造者非常方便二、组件Builder(抽象建造者):为创...原创 2019-08-13 17:20:58 · 132 阅读 · 0 评论 -
GOF设计模式(04)桥接模式
简介一、定义1、概念桥接(Bridge)模式:将抽象部分与其实现部分分离,使得他们都可以独立地变化。它是一种对象结构型模式,又称为接口模式。桥接符合开闭原则和单一职责原则。2、理解在使用桥接模式时,我们首先应该识别出一个类所具有的两个独立变化的维度,将它们设计为两个独立的继承等级结构,为两个维度都提供抽象层,并建立抽象耦合。通常情况下,我们将具有两个独立变化维度的类的一些普通业务方...原创 2019-08-13 17:13:57 · 333 阅读 · 0 评论 -
GOF设计模式(03)适配器模式
简介一、定义适配器模式(Adapter Pattern):将一个接口(已有的)转换成客户希望的另一个接口(目标),使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)在适配器模式定义中所提及的接口是指广义的接口,它可以表示一个方法或者方法的集合二、组件Target(目标抽象类):目标抽象类定义客户所需接口,可以是一个抽象类或接口,也可以是具体类。Adapter(适配...原创 2019-08-13 17:07:06 · 172 阅读 · 0 评论 -
GOF设计模式(02)抽象工厂模式
抽象工厂模式简介一、模式定义1、比较权威的定义抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。2、对于该模式的理解工厂方法模式中的每个工厂只生产一类产品,会导致系统中存在大量的工厂类,势必会增加系统的开销抽象工厂是将一些相关的产品组成一个“...原创 2019-08-13 17:02:18 · 190 阅读 · 0 评论 -
GOF设计模式(13)模版方法模式
简介一、定义二、组件三、结构图示例总结一、优缺点二、使用场景原创 2019-09-02 14:49:47 · 111 阅读 · 0 评论