一、基础
产生背景:GoF (四人组 匿名)
分类(3个连续的质数5,7,11):
- 创建型(5种):单例、原型、工厂方法、抽象工厂、建造者。
- 结构型(7种):代理、适配器、桥接、装饰、外观、享元、组合。
- 行为型(11种):模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器。
类图
类之间的关系:
- 依赖
- 关联(关联、聚合、组合)
- 泛化(父子)
- 实现
设计原则
- 1.开闭原则
对扩展开放、对修改关闭。
如库、sdk等封装
- 2.里氏替换原则
继承必须确保超类所拥有的性质在子类中仍然成立
通俗说法就是不要去修改父类的方法,只能复写。
- 3.依赖倒置原则
高层模块不应该依赖低层模块,再者都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。
面向接口编程,降低耦合,提高稳定性。
- 4.单一职责原则
一个类应该有且仅有一个引起它变化的原因
降低类的复杂度、提高可读性。
- 5.接口隔离原则
客户端不应该被迫依赖于它不使用的方法(一个类对另一个类的依赖应该建立在最小的接口上),要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。
-
6.迪米特法则
如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。 -
7.合成复用原则
软件复用,优先使用关联关系,其次考虑复用关系。
0 条评论