设计模式 - 类的关系
在设计模式中,类与类之间的关系:依赖、关联、聚合、组合、继承。他们的耦合度依次增强。
1、依赖(Dependence)
类A当中使用了类B,其中类B是作为类A的方法参数、方法中的局部变量、或者静态方法调用。
2、关联(Association)
类A当中使用了类B,其中类B是作为类A的成员变量(单向关联),同时类B中也使用了类A作为成员变量(双向关联)。
3、聚合(Aggregation)
聚合关系是关联关系的一种,关联关系的对象间是相互独立的,而聚合关系的对象之间存在着包容关系,他们之间是“整体-个体”的关系。
4、组合(Composition)
组合是一种耦合度更强的关联关系。存在组合关系的类表示“整体-部分”的关联关系,“整体”负责“部分”的生命周期,并且“部分”单独存在时没有任何意义。
5、继承(Generalization)
继承表示类与类(或者接口)之间的父子关系。
设计模式六大原则:
1、单一职责原则:不要存在多于一个导致类变更的原因,即一个类只负责一项职责。
2、里氏替换原则:所有引用父类的地方必须能透明的使用其子类。子类可以扩展父类的功能,但不能改变父类原有的功能
3、依赖倒置原则:抽象不依赖细节,细节应依赖抽象(面向接口编程)。
4、迪米特法则:一个对象应对其他对象有最少的了解,只能与直接的朋友通信。
5、接口隔离原则:类间的依赖应建立在最小的接口上。
6、开放封闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。