委托的概念:委派是一个对象依赖另一个对象来实现其功能的某个子集。
委托的类型:
Dependency:临时性的委托
在这种关系中,一个类使用另一个类而不将其作为一个属性。两类之间的这种关系称为“uses-a”关系。
Association(关联): 永久性的delegation
1、关联是类之间的持久关系,允许一个对象实例让另一个对象实例代表它自己做其他事。
2、这种关系属于has-a的关系,是结构化的,因为它指定了一种对象与另一种对象相连接,并且不代表行为,即不在该类的方法中使用另一个类的方法,只是简单的将不同的对象连接起来。
Composition(组合): 更强的association,但难以变化
1、组合是将简单对象或数据类型组合成更复杂的方法的一种方法。
2、这种关系是a-part-of关系,一个类有另一个属性或实例变量——实现了一个对象包含另一个对象。
Aggregation(聚集): 更弱的association,可动态变化
聚集:对象存在于另一个之外,是在外部创建的,所以它作为一个参数传递给构造函数。