博客专栏  >  编程语言   >  面向对象的设计模式

面向对象的设计模式

摘抄自《敏捷软件开发》的设计原则和《设计模式》的各种模式。主要以图片形式加强记忆,不涉及具体代码。

关注
0 已关注
27篇博文
  • 图示符号指南

    类图 对象图交互图

    2017-03-10 13:07
    128
  • 敏捷开发之原则 五大原则 SRP OCP LSP DIP ISP

    一、面向对象设计原则内容来自《敏捷开发:原则、模式与实例》 SRP单一职责原则(Single Responsibility Principle): 就一个类而言,应该仅有一个引起它变化的原因。 ...

    2017-02-08 22:04
    611
  • 设计模式图示 速记速查

    创建型工厂模式: 抽象工厂: 单例模式: 建造者: 原型模式: 结构型适配器: 桥接模式: 组合模式: 装饰模式: 外观模式: 享元模式: 代理模式: 行为型职责链: 命令模...

    2017-03-22 20:59
    293
  • 设计模式MIxin 特殊的多继承

    一、意图给类增加一些额外功能。在保持单一继承的纯净性,又避免由于单一继承产生的复杂的继承层次结构。类似于JAVA中的Interface(规格继承:只是定义了一些列接口),但是Mixin(属于实现继承)...

    2017-03-28 23:08
    519
  • 创建型模式之工厂方法FACTORY METHOD

    意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method使一个类的实例化延迟到其子类。我将工厂模式分为三个部分:原料、工厂、购买者一、原料 一般情况下我们的原料属于...

    2016-12-31 14:18
    114
  • 创建型模式之抽象工厂ABSTRACT FACTORY

    意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。一、工厂模式与抽象工厂模式区别工厂模式抽象工厂模式与工厂模式类似。不过处理的问题更为复杂。工厂模式中我们处理的是不同图形的面积...

    2016-12-31 19:26
    98
  • 创建型模式之单例模式SINGLETON

    一、简析 单例模式原则就是该类自己创建自己的对象,且只能有一个对象被创建。一般情况对于打印机,数据库连接等减少内存开销,避免多线程同时访问问题会使用该模式。 根据原则: 只能有一个实例:必须私有...

    2017-01-01 23:16
    119
  • 创建型模式之生成器/建造者BUILDER

    意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 一、介绍建造者模式用于对于复杂对象的建立。由于复杂对象过于繁杂,采用一步一步建立的方式。 以KFC为例,KFC店食...

    2017-01-03 13:17
    133
  • 创建型模式之原型模式PROTOTYPE

    意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。一、原型模式原型模式应用场景主要在于当一个对象的创建非常复杂,消耗很多资源之时。如果一个对象的创建之前需要经过很过步骤和要求,一般...

    2017-01-05 14:13
    197
  • 结构型模式之适配器ADAPTER

    推荐先看《敏捷开发:原则、模式与实例》了解基本开发原则一、意图如果我们需要使用另一个类,但是这个类的接口与我们现有代码不接口不兼容,可以使用Adapter模式使得不兼容接口一起工作。二、图解 如上图...

    2017-02-28 11:13
    93
  • 结构型模式之桥接BRIDGE

    推荐先看《敏捷开发:原则、模式与实例》了解基本开发原则一、意图将抽象部分同其实现部分分离开来,使其可以独立变化。二、图解 上图为了实现多平台应用,使用继承分别定义了X平台和PM平台的两个window...

    2017-03-01 10:41
    92
  • 结构型模式之组合COMPOSITE

    推荐先看《敏捷开发:原则、模式与实例》了解基本开发原则一、意图将对象组合成树形结构以表示部分-整体层次结构,使得 单个组件与组合组件具有一致性。二、图解 上图可知Line,Rectangle,Tex...

    2017-03-02 10:12
    77
  • 结构型模式之装饰DECORATOR

    推荐先看《敏捷开发:原则、模式与实例》了解基本开发原则一、意图动态给对象添加一些额外职责。二、图解有时我们希望给某个对象添加一些功能,但是又不想破坏原有类的结构,如果采用继承方式就无法控制添加的时机和...

    2017-03-02 12:58
    83
  • 结构型模式之外观FACADE

    一、意图为子系统提供一个统一的界面。二、图解 三、结构四、其他 使用抽象类实现Facade,而其具体子类对应不同的子系统实现,进一步降低客户与子系统间耦合度

    2017-03-03 09:14
    67
  • 结构型模式之享元FLYWEIGHT

    一、意图运用共享技术有效地支持大量细粒度的对象二、图解 对于一个文档编辑器,如果我们对每个文字都建立个对象将会消耗大量的内存。由于英文字母只有26个,如果我们只建立26个对象,而文档编辑器内的文字都...

    2017-03-03 09:44
    58
  • 结构型模式之代理PROXY

    一、意图为其他对象提供一种代理以控制对这个对象的访问。二、图解如果需要的对象的创建和初始化都需要非常大开销,那么一般我们就得在需要这个对象的时候才创建它。 如上图,ImageProxy用于代理I...

    2017-03-04 09:43
    56
  • 行为型模式之职责链CHAIN OF RESPONSIBILITY

    一、意图将处理请求的对象连成一条链,逐步传递该请求,直到有对象能够处理。二、图解 可以看到当子类Button不能处理对象时就调用父类Widget方法,沿链转发请求直到最后有对象能够处理它。应该根据从...

    2017-03-04 11:08
    76
  • 行为型模式之命令COMMAND

    一、意图将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。二、图解 COMMAND模式的意图很是费解,以上图为例,个人理解为,本来我们...

    2017-03-05 09:59
    92
  • 行为型模式之解释器INTERORETER

    一、意图定义一种规则,然后用解释器来解释该规则。二、图解正则表达式为例,正则表达式存在一种规则,在搜索匹配字符串时,根据这种规则解析,搜索符合要求的子字符串。 约定一下规则: 建立解释器: ...

    2017-03-07 21:21
    80
  • 行为型模式之迭代器INTERATOR

    一、意图提供一种方法顺序访问一个聚合对象中各个元素 , 而又不需暴露该对象的内部表示。二、图解C++的STL常用类实现机制。将类列表迭代部分从类中分离出来放入一个迭代器。 但上图List和Lis...

    2017-03-07 21:55
    68

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部