GoF23:设计模式概述
Posted rainszj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GoF23:设计模式概述相关的知识,希望对你有一定的参考价值。
目录
学习设计模式的意义
? 设计模式的本质是对面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。
? 提高抽象思维能力、知道它的应用场景
? 软件设计模式只是一种引导,要根据实际的业务做出恰当的选择
设计模式的基本要素:
- 模式名称
- 问题
- 解决方案
- 效果(优缺点,时间和空间复杂度的平衡)
GoF23
一种思维,一种态度,一种进步
创建型模式(5种)
- 单例模式
- 工厂模式
- 抽象工厂模式
- 建造者模式
- 原型模式
结构型模式(7种)
- 适配器模式
- 桥接模式
- 装饰模式
- 代理模式
- 组合模式
- 外观模式
- 享元模式
行为型模式(11种)
- 模板方法模式
- 命令模式
- 迭代器模式
- 观察者模式
- 中介者模式
- 备忘录模式
- 解释器模式
- 状态模式
- 策略模式
- 职责链模式
- 访问者模式
OOP七大原则
开闭原则(总的纲领)
对扩展开放,对修改关闭
里氏替换原则
? 继承必须确保超类所拥有的性质在子类中仍然成立,也就是说,子类只是对基类的一种扩展,而对基类中的方法尽量不要修改。
依赖倒置原则
? 要面向接口编程,不要面向实现编程。降低程序之间的耦合性
高层模块不应该依赖底层模块,抽象不依赖于具体,具体依赖于抽象。
单一职责原则
? 一个类只执行一个任务,一个方法只让它干一件事情。不应该让它承担过多的任务。
控制类的粒度大小,将对象解耦,提高其内聚性。封装
接口隔离原则
要为各个类建立它们需要的专用接口,降低程序的耦合度
迪米特法则
只与你的直接朋友交谈,不跟"陌生人"说话
合成复用原则
尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现
以上是关于GoF23:设计模式概述的主要内容,如果未能解决你的问题,请参考以下文章