发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA
1 2 3 4 ... 6 下一页 Go 6

我理解的聚合,关联,组合区别

         
2003-06-17 22:31
赞助商链接

聚合,关联,组合 是对象之间的三种关系。从某种意义上说,继承是一种类的纵向关系,而聚合,关联,组合是对象的横向关系。


其关系强弱为 关联<聚合<组合

关联:在程序中相当于把已经实例化的对象A做为另一对象B方法的参数传递引用。

组合:即为内部类

聚合:其做法介于两者之间。不过我更觉得聚合相当于一个在外部已经申明的A,然后把A放在B中做为一个变量使用。

不知我理解的是不是正确,请大家从 **实现** 的角度发表一下意见吧。

1
cc
2003-06-18 08:44

聚合是1对多

1的那个要有一个collection储存多的那个

2003-06-18 10:02


CC,抱歉的很,实在不能认同你的说法。

你说的只是聚合中的一种情况而已。

象组合的实现:内部类。 一个类里面也可以有多个内部类,这同样是一对多的关系。

2003-06-18 10:12

不太理解,组合怎么会和内部类对应,我觉得组和纯粹表明的是一种对象之间的关系,而内部类在java中应该是一种多继承关系的某种实现?

cc
2003-06-18 11:09

没有你想象的那么复杂

组合就是一种很强烈的关联,必须在被组合对象生成的时候,组合对象也就必须生成了

像这样



public class a{

Collection bs = null;

public a(){
bs = new Collection();
bs.add(new b());
}

}

public class b{

}


6Go 1 2 3 4 ... 6 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com