美文网首页
设计模式(2)——设计原则

设计模式(2)——设计原则

作者: zzyo96 | 来源:发表于2020-09-09 14:47 被阅读0次
推荐《unix/linux设计哲学》

一、设计

1.1描述

  • 即按照哪一种思路或者标准来实现功能
  • 功能相同,可以有不同设计方案来实现
  • 伴随着需求增加,设计的作用才能体现出来

1.2《unix/linux设计哲学》

  • 准则1:小即是美
  • 准则2:让每个程序只做好一件事
  • 准则2:快速建立原型
  • 准则4:舍弃高效率而取可移植性
  • 准则5:采用纯文本来存储数据
  • 准则6:软件复用
  • 准则7:使用shell脚本来提高软件复用
  • 准则8:避免强制性的用户界面
  • 准则9:让每个程序都成为过滤器

二、SOLID 五大设计原则

2.1 S - 单一职责原则

  • 一个程序只做好一件事
  • 如果功能过于复杂就拆分开,每个部分保持独立

2.2 O - 开放封闭原则(对扩展开放, 对修改封闭)

  • 对扩展开放, 对修改封闭
  • 增加需求时,扩展新代码,而非修改已有代码
  • 这是软件设计的终极目标

2.3 L - 李氏置换原则

  • 子类能覆盖父类
  • 父类能出现的地方子类都能出现
  • JS中使用较少(弱类型&继承使用较少)

2.4 I - 接口独立原则

  • 保持接口的单一独立,避免出现“胖接口”
  • JS中没有接口(ts例外),使用较少

2.5 D - 依赖导致原则

  • 面向接口编程,依赖于抽象而不依赖于具体
  • 使用方只关注接口而不关注具体类的实现
  • JS中使用较少(没有接口&弱类型)

三、23中设计模式

3.1创建型

  • 工厂模式(工厂方法模式,抽象工厂模式,建造者模式)
  • 单例模式
  • 原型模式

3.2结构型

  • 适配器模式
  • 装饰器模式
  • 代理模式
  • 外观模式
  • 桥接模式
  • 组合模式
  • 享元模式

3.3行为型

  • 策略模式
  • 模板方法模式
  • 观察者模式
  • 迭代器模式
  • 职责连模式
  • 命令模式
  • 备忘录模式
  • 状态模式
  • 访问者模式
  • 中介者模式
  • 解释器模式

四、两道面试题

第一题:

画出UML类图,用ES6语法写出该示例

image.png image.png image.png

第二题:

image.png image.png

相关文章

  • 设计模式

    设计模式六大原则[设计模式六大原则(1):单一职责原则][设计模式六大原则(2):里氏替换原则][设计模式六大原则...

  • 设计模式笔记汇总

    目录 设计原则 “依赖倒置”原则 未完待续... 设计模式 设计模式——策略模式 设计模式——装饰者模式 设计模式...

  • 面向对象 设计原则 & 松耦合设计 & 设计模式

    0 OO 设计原则 & 松耦合设计 & 设计模式 1 23 种 设计模式 Key Points 2 Fact...

  • 设计模式之开闭原则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • 设计模式之迪米特法则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • 设计模式之依赖倒置原则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • 设计模式之接口隔离原则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • 设计模式之单一职责原则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • 设计模式之里式替换原则

    相关链接:0. 设计模式之六大原则总结1. 设计模式之单一职责原则2. 设计模式之里式替换原则3. 设计模式之依赖...

  • php设计模式

    1. 设计模式原则 2.php使用的设计模式(23种)

网友评论

      本文标题:设计模式(2)——设计原则

      本文链接:https://www.haomeiwen.com/subject/emtjektx.html