
设计模式
文章平均质量分 78
Keep Slient,
这个作者很懒,什么都没留下…
展开
-
设计模式复习笔记 (5)创建型模式:建造者模式
模式定义: 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生成器模式。模式动机: 无论是在现实世界中还是在软件系统中,都存在一原创 2016-10-12 11:34:59 · 352 阅读 · 0 评论 -
设计模式复习笔记 (3)创建型模式:工厂方法模式
模式定义: 工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具原创 2016-10-03 16:13:23 · 336 阅读 · 0 评论 -
设计模式复习笔记 (2)创建型模式:简单工厂模式
创建型模式概述: 创建型模式(Creational Pattern)关注的是对象的创建,将创建对象(类的实例化)的过程进行了抽象和封装,分离了对象创建和对象使用。作为客户程序仅仅需要去使用对象,而不再关心创建对象过程中的逻辑。帮助一个系统独立于如何创建、组合和表示它的那些对象。创建型模式有两个重要的特点: 1. 客户不知道对象的具体类是什么(除非看源代码) 2. 隐藏了对象实例是如何被创建原创 2016-10-03 15:08:57 · 263 阅读 · 0 评论 -
设计模式复习笔记 (1) 设计模式概述
设计模式的定义(Alexander的经典定义): 每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再重复相同的工作。软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件生存期的每一个阶段都存在着一原创 2016-10-03 14:51:50 · 415 阅读 · 0 评论 -
设计模式复习笔记 (14)结构型模式:装饰模式
模式定义装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper),与适配器模式的别名相同,但它们适用于不同的场合。根据翻译的不同,装饰模式也有人称之为“油漆工模式”,它是一种对象结构型模式。在装饰模式中,为了让系统具有更好的灵活性和可扩展性,我原创 2016-10-14 18:52:12 · 368 阅读 · 0 评论 -
设计模式复习笔记 (13)结构型模式:外观模式
模式定义外观模式(Facade Pattern):为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式中,一个子系统的外部与其内部的通信通过一个统一的外观类进行,外观类将客户类与子系统的内部复杂性分隔开,使得客户类只需要与外观角色打交道,而不需要与子系统内部的很多对象打交道。外观模式又称为门面模式,它是一种对象结构型模式。外观模式是原创 2016-10-14 18:17:10 · 360 阅读 · 0 评论 -
设计模式复习笔记 (12)结构型模式:代理模式
模式定义代理模式(Proxy Pattern) :给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式的英文叫做Proxy或Surrogate,它是一种对象结构型模式。在代理模式中引入了一个新的代理对象,代理对象在客户端对象和目标对象之间起到中介的作用,它去掉客户不能看到的内容和服务或者增添客户需要的额外的新服务。代理模式是一种应用很广泛的结构型设计模式,而且变化形式非常多,常见原创 2016-10-14 11:08:33 · 311 阅读 · 0 评论 -
设计模式复习笔记 (11)结构型模式:享元模式
模式定义享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。 模式动机面向对象技术可以很好地解决一些灵活性或可扩展性问题,但在很多情况下需要在系统中增加类和对象的个数。当对象数量太原创 2016-10-13 15:57:53 · 271 阅读 · 0 评论 -
设计模式复习笔记 (10)结构型模式:组合模式
模式定义组合模式(Composite Pattern):组合多个对象形成树形结构以表示“整体-部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。组合模式又可以称为“整体-部分”(Part-Whole)模式,属于对象结构型模式,它将对象组织到树结构中,可以用来描述整体与部分的关系。模式动机:对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将原创 2016-10-13 13:34:49 · 345 阅读 · 0 评论 -
设计模式复习笔记 (9)结构型模式:桥接模式
桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 如果软件系统中某个类存在两个独立变化的维度,通过桥接模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合“单一职责原则”。模式动机 考虑两种常见文具:毛笔和蜡笔的区别 假如我们需要原创 2016-10-12 22:10:47 · 335 阅读 · 0 评论 -
设计模式复习笔记 (8)结构型模式:适配器模式
结构型模式概述 :结构型模式(Structural Pattern)描述如何将类或者对象结合在一起形成更大的结构,就像搭积木,可以通过简单积木的组合形成复杂的、功能更为强大的结构。结构型模式可以分为类结构型模式和对象结构型模式:类结构型模式关心类的组合,由多个类可以组合成一个更大的系统,在类结构型模式中一般只存在继承关系和实现关系。对象结构型模式关心类与对象的组合,通过关联关系使得在一个类中定义原创 2016-10-12 16:55:35 · 338 阅读 · 0 评论 -
设计模式复习笔记 (7)创建型模式:单例模式
模式定义:单例模式(Singleton Pattern):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式有三个要点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式是一种对象创建型模式。单例模式又名单件模式或单态模式。模式动机:对于系统中的某些类来说,只有一个实例很原创 2016-10-12 12:20:40 · 275 阅读 · 0 评论 -
设计模式复习笔记 (6)创建型模式:原型模式
模式定义: 原型模式(Prototype Pattern):原型模式是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式允许一个对象再创建另外一个可定制的对象,无须知道任何创建的细节。 原型模式的基本工作原理是通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝原型自己来实现创建过程。模式动机:在面向对象系统中,使用原原创 2016-10-12 11:48:59 · 386 阅读 · 0 评论 -
设计模式复习笔记 (4)创建型模式:抽象工厂模式
模式定义: 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。模式动机: 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂原创 2016-10-03 17:10:05 · 276 阅读 · 0 评论