签到32!
学习总结
不经一番寒彻骨,怎得梅花扑鼻香。
七大设计原则
- 开闭原则
- 总结:对修改关闭,对扩展开放
- 目的:保证系统健壮性,减少维护带来的风险
- 单一职责原则
- 总结:一个类只做一类事情,负责一个职责
- 目的:保证类的单纯性,也方便使用
- 接口隔离原则
- 总结:一个接口只负责一种事情,负责一种职责
- 目的:保证接口的单纯性,高聚合低耦合
- 迪米特原则
- 总结:不该知道的最好别知道
- 目的:提高类的封装性,复用
- 里式替换原则
- 总结:涉及到子类重写父类的方法时,不要影响功能的含义
- 目的:避免使用的理解难度、防止继承泛滥
- 依赖倒置原则
- 总结:要依赖接口编程,不要依赖具体实现
- 目的:提高程序的扩展和升级
- 合成复用原则
- 总结:不使用继承,而是用组合或者复用来实现功能
- 目的:降低类的复杂性,降低代码的耦合性
创建型设计模式
- 单例
- 总结:公司只能有一个CEO
- 目的:保证唯一性及其合法性
- 原型
- 总结:六耳猕猴去做事
- 目的:复杂的对象拷贝出来另有它用,高效的创建对象
- 工厂方法
- 总结:创建出产品的工厂来构建复杂产品,产品标准化
- 目的:从关注产品,到关注创造产品的工厂,封装细节
- 通常,工厂会被设计成单例,是一种特殊的模板方法
- 抽象工厂
- 总结:关注操作产品等级和产品结构,理解为品牌
- 目的:从关注创造产品的工厂到品牌,构建复杂的产品等级和结构
- 建造者
- 总结:注重构建形式,在低配的形式上差异化增加配置
- 目的:更加灵活的构建对象及关注配置
结构型设计模式
- 装饰者
- 总结:俄罗斯套娃,每装饰一次都是同样的类型,但有不同的结果,同宗同源
- 目的:灵活的扩展功能
- 关注给对象添加方法
- 门面
- 总结:打开这扇门,进入新世界
- 目的:系统分层,调用子系统的入口
- 组合
- 总结:同心同德、你我彼此不分
- 目的:对整体和局部的调用使用对客户透明调用,如目录、树型结构
- 享元
- 总结:公共厕所,优化资源配置
- 目的:稀缺资源合理使用
- 桥接
- 总结:万物互联
- 目的:不使用继承,将两个独立体系关联起来
- 代理
- 总结:交给专业人士我放心
- 目的:保护和增强
- 关注对对象的访问,有时候不能直接访问
- 适配器
- 总结:适应自己的改变
- 目的:为了满足需要,不得已的改变,转换和兼容
- 适配的双方可以有不同的接口,可以
行为型设计模式
- 访问者
- 总结:远看成岭侧成峰,远近高低各不同
- 目的:不同的访问者同样的数据给出不同的结果
- 观察者
- 总结:你的事情不只是你的事情
- 目的:灵活的增加事件处理机制
- 状态
- 总结:不同的状态不同的认识
- 目的:根据不同的状态改变行为
- 委派
- 总结:专人做专事
- 目的:全权代理某件事,关注结果
- 关注分发和调度
- 模板方法
- 总结:按程序办事
- 目的:复用和讲究程序
- 备忘录
- 总结:备份的重要性
- 目的:方便回到某个状态
- 命令
- 总结:一支穿云箭,千军万马来相见
- 目的:将某事情拆分为请求和相应,关注请求本身
- 中介者
- 总结:班长,她的联系方式是?
- 目的:将网状关系转换成星性,降低调用的复杂性
- 迭代器
- 总结:任何课程的学习方法基本一样
- 目的:将数据和数据的访问抽象一个统一接口,方便使用者访问使用
- 策略
- 总结:白猫黑猫,抓住老鼠都是好猫
- 目的:客户选择不同的策略,结果都是一样的
- 通常会接收工厂创建的对象,关注策略能否相互替代
- 责任链
- 总结:任务审批流
- 目的:对同一个请求灵活的增加和删除不同的关注和处理
- 解释器
- 总结:我的方言
- 目的:解释一中文法输出统一的结果