关联关系和依赖关系

关联:一种结构关系,表现为一个对象能够获得另一个对象的是类引用并调用他的服务。关联(Association)表示两个类之间存在某种语义上的联系。例如,一个人为一家公司工作,一家公司有许多办公室。我们就认为人和公司、公司和办公室之间存在某种语义上的联系。在分析设计的类图模型中,则在对应人类和公司类、公司类和办公室类之间建立关联关系。


依赖:一种使用关系,表现为一个对象仅仅是调用了另一个对象的服务。有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。在类中,依赖由各种原因引起,如:一个类向另一个类发消息;一个类是另一个类的数据成员;一个类是另一个类的某个操作参数。如果一个类的界面改变,它发出的任何消息可能不再合法。

下面是本人的理解:

A 和 B是关联关系,A关联B

关联是一种结构关系,A它原则上不使用(调用)B,它只负责维护B,也就是创建B对象和清理B对象,它不使用B对象的属性和方法。当B做修改时应该不会影响到A。因为A只是负责管理B,不对它做任何操作。

A 和 B是依赖关系,A依赖B依赖是一种使用关系,在A中会访问B的成员或者方法,所以当B做修改时可能会影响到A。

相关文章

什么是设计模式一套被反复使用、多数人知晓的、经过分类编目...
单一职责原则定义(Single Responsibility Principle,SRP)...
动态代理和CGLib代理分不清吗,看看这篇文章,写的非常好,强...
适配器模式将一个类的接口转换成客户期望的另一个接口,使得...
策略模式定义了一系列算法族,并封装在类中,它们之间可以互...
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,...