读书笔记----软件设计原则、设计模式

读书笔记----软件设计原则、设计模式

参考资料

《设计模式 可复用面向对象软件的基础》

读书笔记

设计模式六原则

这些原则并不是必须要严格遵守的,但谨记这些原则会让我们设计出更好的代码

  • 接口隔离原则:用户不需要实现他不需要的接口
  • 里氏代换原则:子类应该能完成父类支持的所有行为
  • 最小知道原则:对象间的依赖越少越好
  • 依赖倒置原则:程序设计不应该依赖实现而依赖其抽象
  • 单一职责原则:每一个类最好只完成一项职责
  • 开闭原则:程序对拓展开放,而对修改封闭

什么是设计模式

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

此外,我们还经常用到:

  • 观察者模式:用于实现消息系统,成就系统
  • 单例模式:一些场景管理类用单例模式,从而只允许有一个实例

心得体会

用前:哇代码好臭
用后:哇心情舒畅

设计模式更多的是提供一种问题的解决方案,一种思想。不是说提供代码直接复制粘贴、生搬硬套,而是提供一个模板来为我们解决发现的问题,帮助我们更好的实现软件的功能。

截图与表格

UTOOLS1615729537194.png

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/homework/11833
这个作业的目标 理解软件设计原则和设计模式
原文地址:https://www.cnblogs.com/yasoudream/p/14534433.html