设计模式学习篇-介绍

70 阅读1分钟

1.为什么要学习设计模式

  • 应对面试中的各种设计模式的相关问题
  • 提高自己写程序的水平,尽可能减少工作中被人吐槽是烂代码
  • 提升自己对代码的组织,构建,设计水平
  • 更加容易的阅读他人的代码

2. 设计模式的原则

提升代码水平的原则,只是书写了其中几个原则

  • 单一职责原则 -> 功能简洁,这样就易于可读和可维护
  • 开闭原则 -> 代码的灵活的设计便于扩展各种功能,
  • 其它的几个原则个人认为比较拗口,平时只要牢记这两个原则就行

2.1 具体书上的设计原则如下

  • 开闭原则(Open Closed Principle,OCP)
  • 单一职责原则(Single Responsibility Principle, SRP)
  • 里氏代换原则(Liskov Substitution Principle,LSP)
  • 依赖倒转原则(Dependency Inversion Principle,DIP)
  • 接口隔离原则(Interface Segregation Principle,ISP)
  • 合成/聚合复用原则(Composite/Aggregate Reuse Principle,CARP)
  • 最少知识原则(Least Knowledge Principle,LKP)或者迪米特法则(Law of Demeter,LOD)

3. 设计模式的介绍

主要分为三种类型:创建型,结构型,行为型,每种类型里面有分为我们常用的和不常用的,甚至于有些语音天然就是使用了某些模式,比如JavaScript

  • 创建型
    • 单例模式
    • 工厂模式
    • 建造者模式
    • 原型模式
  • 结构型
    • 代理模式
    • 桥接模式
    • 装饰器模式
    • 适配器模式
    • 门面模式
    • 组合模式
    • 享元模式
  • 行为型
    • 观察者模式
    • 模版模式
    • 策略模式
    • 职责链模式
    • 状态模式
    • 迭代器模式
    • 访问者模式
    • 备忘录模式
    • 命令模式
    • 解释器模式
    • 中介模式