图解设计模式读书笔记——预备知识


设计模式是一把双刃剑,正确使用可以提高系统的适应性,误用会反过来降低系统的适应性


内容大纲

预备知识


第一部分:适应设计模式

  1. “Iterator模式——一个一个遍历”:从含有多个集合中将各个元素逐一取出
  2. “Adapter模式——加个适配器以便复用”:可用来连接具有不同接口的类

第二部分:交给子类

  1. “Template Method模式——将具体处理交给子类”: 在父类中定义处理框架,在子类中进行具体处理

  2. “Factory Method模式——将实例的生成交给子类”: 在父类中定义生成接口的处理框架,在子类中进行具体处


第三部分:生成实例

  1. “Singleton模式——只有一个实例”: 只允许生成一个实例

  2. “Prototype模式——通过复制生成实例”: 复制原型接口并生成实例

  3. “Builder模式——组装复杂的实例”: 通过各阶段的处理以组装出复杂实例

  4. “Abstract Factory模式——将关联零件组装成产品”: 像在工厂中将各个零件组装成产品


第四部分: 分开考虑

  1. “Bridge模式——将类的功能层次结构与实现层次结构分离”: 按照功能层次结构与实现层次结构把一个两种扩展(继承)混在一起的程序进行分离,并在它们之间搭建桥梁

  2. “Strategy模式——整体的替换算法”: 可以帮助我们整体的替换算法和改善算法


第五部分: 一致性

  1. “Composite模式——容器与内容的一致性”: 让容器和内容具有一致性从而构建递归结构

  2. “Decorator模式——装饰边框与被装饰物的一致性”: 让装饰边框与被装饰物具有一致性,并可以任意叠加装饰边框


第六部分: 访问数据结构

  1. “Visitor模式——访问数据结构并处理数据”: 学习在访问数据结构的同时重复套用相同操作

  2. “Chain of Responsibility模式——推卸责任”: 可以处理连接在一起的多个对象中某个地方


第七部分: 简单化

  1. “Facade模式——简单窗口”: 该模式并不是单独的控制那些错综复杂的关联在一起的多个类,而是通过配置一个窗口类来改善系统整体的可操作性

  2. “Mediator模式——只有一个仲裁者”: 可以不与多个复杂的类打交道,而是准备一个窗口,然后通过与这个窗口打交道来简化程序


第八部分: 管理状态

  1. “Observer模式——发送状态变化通知”: 将状态发生变化的类和发送状态便通知的类分开实现

  2. “Memento模式——保存对象状态”: 保存对象现在的状态,并可以根据情况撤销操作,将对象恢复到以前状态

  3. “State模式——用类表示状态”: 用类表现状态,以减少switch语句


第九部分: 避免浪费

  1. “Flyweight模式——共享对象,避免浪费”: 当多个地方有重复对象时,通过共享对象来避免浪费

  2. “Proxy模式——只在必要时生成实例”: 除非必须“本人”处理,否则就只使用代理类来负责处理


第十部分: 用类来表现

  1. “Command模式——命令也是类”: 用类来表示请求和命令

  2. “Interpreter模式——语法规则也是类”: 用类来表示语法规则



预备知识

继承:实线、子类指向父类

在这里插入图片描述

接口与实现:虚线

在这里插入图片描述

聚合:在一个类中持有另一个类的实例

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值