一、基础

产生背景:GoF (四人组 匿名)

分类(3个连续的质数5,7,11)

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

类图
类之间的关系:

  • 依赖
  • 关联(关联、聚合、组合)
  • 泛化(父子)
  • 实现

设计原则

  • 1.开闭原则

对扩展开放、对修改关闭。

如库、sdk等封装

  • 2.里氏替换原则

继承必须确保超类所拥有的性质在子类中仍然成立

通俗说法就是不要去修改父类的方法,只能复写。

  • 3.依赖倒置原则

高层模块不应该依赖低层模块,再者都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。

面向接口编程,降低耦合,提高稳定性。

  • 4.单一职责原则
    一个类应该有且仅有一个引起它变化的原因

降低类的复杂度、提高可读性。

  • 5.接口隔离原则

客户端不应该被迫依赖于它不使用的方法(一个类对另一个类的依赖应该建立在最小的接口上),要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。

  • 6.迪米特法则
    如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。

  • 7.合成复用原则
    软件复用,优先使用关联关系,其次考虑复用关系。


0 条评论

发表回复

您的电子邮箱地址不会被公开。