设计模式学习(一至十章)

2019-05-13  本文已影响0人  ZalleDay

此处设计模式的学习是用的是大话设计模式这本书。作者程杰。
其博客 :https://www.cnblogs.com/cj723/

第零章 UML类图

例如:


image.png

箭头的作用

image.png image.png image.png image.png image.png image.png

第一章 简单工厂模式

工厂模式

image.png

如图,工厂类负责写一个判断输入的字符的逻辑,负责返回一个运算类。获得运算类直接在客户端使用

第二章 策略模式

策略模式:定义算法家族,分别分装,然后在根据需要来使用。


  1. 使用策略模式,使得各类别算法更容易进行单元测试
  2. 把策略模式与工厂模式结构,让客客户端不需要在使用工厂类和算法类,只需要使用工厂策略类,耦合度更低。

第三章 单一职责原则

第四章 开放-封闭原则

第五章 依赖倒转原则

  1. 高层的模块不应该依赖底层的模块。这两个模块已改依赖接口
  2. 抽象不该依赖细节,细节已改依赖抽象

例如,我们电脑组装时,我们cpu,内存都可以买不同品牌,说明这些硬件面对接口编程,他们不相互依赖,依赖的是接口。在例如,写网站是,你写了调用数据库的函数,而你的高层调用这个函数。但是突然你要换数据库了,那么你的高层就要被重写了。如果你的高层是通过接口调用的,那么,只需要实现接口捷星,不需要重写接口

第六章 装饰模式

装饰者UML图

image.png

看不懂的话看一下书的代码。
简单解释是,祖父类是有一个处理函数,子类都会用一个祖父类的引用,每个子类的祖父类引用可以套上其他子类,然后在处理函数调用这个引用的处理函数,就能一直堆砌这个处理函数。
ConcreteComponent 类用来在客户端二代增加职责。

第七章 代理模式

image.png
  1. 隐藏地址空间
    2.对于开销很大的对象,通过他来存放。比如浏览器看图片
  2. 安全代理,权限控制
    4.只能指引,指当调用真实对象,代理处理另外一些事

第八章 工厂方法模式

image.png

例子:


第九章 原型模式

第十章 模板方法模式

自己注解:我们把一个具有相同的内容的方法按顺序分离出来,对需要特定化的方法标定虚函数,这样的话,子类重写虚函数在搭配上相同的方法就能实现目的,这就符合了开放封闭原则、依赖依赖翻转原则。

结构图:


image.png
  1. 模板方法模式是把不冰的行为编译到超类,去除子类中的重复代码
  2. 模板方法模式提供了代码复用的的平台
  3. 将可变方法与不可变方法分离出来,帮助子类摆脱其纠缠。
上一篇 下一篇

猜你喜欢

热点阅读