关于设计模式

Posted 风雪幻林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于设计模式相关的知识,希望对你有一定的参考价值。

什么是设计模式:

    设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

一.常用的设计模式:

  设计模式总体分为三大类:

    • 创建型模式(5种):单例模式工厂模式抽象工厂模式,建造者模式,原型模式。
    • 结构型模式(7种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
    • 行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

二.设计模式原则:

  • 开闭原则:
    • 对扩展开发,对修改关闭:即一旦项目有了变动,尽量少去修改原有代码,而是尽量去进行新模块的扩展。为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。(顶层调用,底层实现)
  • 里氏代换原则:
    • 面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。可以说:里氏代换原则是继承复用的一个基础。
  • 依赖倒转原则:
    • 接口编程,依赖于抽象而不依赖于具体
  • 接口隔离原则:
    • 使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思
  • 迪米特法则(最少知道原则):
    • 一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立
  • 合成复用原则:
    • 原则是尽量使用合成/聚合的方式,而不是使用继承
      • 合成:表示一种强的拥有关系,部分与整体,部分的生命周期和整体一样
      • 聚合:一种弱的拥有关系,A对象可以包含B对象,但是B对象并不是A对象的一部分

以上是关于关于设计模式的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式C语言设计模式 --- 关于工厂模式的总结

关于设计模式

关于设计模式的一些事!

关于设计模式:啥时候应该使用单例?

关于 OOP 和设计模式?

Flux 设计模式 - 关于视图概念的歧义