读书笔记----软件设计原则、设计模式
参考资料
《设计模式 可复用面向对象软件的基础》
读书笔记
设计模式六原则
这些原则并不是必须要严格遵守的,但谨记这些原则会让我们设计出更好的代码
- 接口隔离原则:用户不需要实现他不需要的接口
- 里氏代换原则:子类应该能完成父类支持的所有行为
- 最小知道原则:对象间的依赖越少越好
- 依赖倒置原则:程序设计不应该依赖实现而依赖其抽象
- 单一职责原则:每一个类最好只完成一项职责
- 开闭原则:程序对拓展开放,而对修改封闭
什么是设计模式
Christopher Alexander说过:
每一个模式描述了一个在我们周围不断重复发生的问题,以及解决该问题的解决方案的核心
一般而言,一个模式有四个基本描述
- 模式名称:便于记忆
- 问题:描述何时合适使用
- 解决方案:描述设计的组成,关系与协作
- 效果:描述应用后的效果和应权衡的问题
设计模式汇总
- 创建型模式:
- 抽象工厂
- 生成器
- 工厂方法
- 原型
- 单例
- 结构型模式:
- 适配器
- 桥接
- 组合
- 装饰
- 外观
- 享元
- 代理
- 行为型模式:
- 责任链
- 命令
- 解释器
- 迭代器
- 中介者
- 备忘录
- 观察者
- 状态
- 策略
- 模板方法
- 访问者
实践应用
参考个人博客:
工厂方法和抽象工厂:
https://www.cnblogs.com/yasoudream/p/12635703.html
生成器:
https://www.cnblogs.com/yasoudream/p/12686435.html
状态模式:
https://www.cnblogs.com/yasoudream/p/11802866.html
此外,我们还经常用到:
- 观察者模式:用于实现消息系统,成就系统
- 单例模式:一些场景管理类用单例模式,从而只允许有一个实例
心得体会
用前:哇代码好臭
用后:哇心情舒畅
设计模式更多的是提供一种问题的解决方案,一种思想。不是说提供代码直接复制粘贴、生搬硬套,而是提供一个模板来为我们解决发现的问题,帮助我们更好的实现软件的功能。
截图与表格
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/homework/11833 |
这个作业的目标 | 理解软件设计原则和设计模式 |