模式与Java

Posted on 2007-04-12 13:31 fph 阅读(367) 评论(3)  编辑  收藏
最近在看阎博士的Java与模式,有一点说得很不错,模式是根据用途来命名的,而模式的实现不外乎Java里面类、或者对象之间的关系。其实最一般化的就是关联关系了。
而关联关系在UML中根据用意不同分为聚合、合成等。

因此所有的模式或关系都是Java类或对象的关联。

btw:很懒的人,不怎么写blog,今天突然想起来了,写了一下,发现写blog有助于加强对一些概念的理解,如聚合、合成的区别,copy如下:

一般关联:只要一个对象联系到另外一个对象就形成了关联关系。如:人和他的猫,黑豹乐队和窦魏,pc机和显示器。

聚合关系:一种强关联关系,它要求有部分和整体的关系,并且没有了整体部分也可以独立存在。在上面三个例子中人和它的猫显然没有部分和整体的关系,所以只能是一般的关联关系。而黑豹乐队和窦魏,窦魏等人组成了黑豹乐队即:窦魏和黑豹是整体和部分的关系。而窦魏脱离了黑豹(早就离开了)更或者黑豹不存在了那么窦魏仍然可以以音乐人的身份存在(即对象仍然可以独立存在)所以它属于聚合关系。组成关系是可以共享的。(窦魏也可以加入其他乐队)。

组合关系:一种更强的整体和部分的关系。它并且要求代表整体的对象负责代表部分的对象的生命周期,组成关系是不能共享的。如:pc机和显示器的关系。

Feedback

# re: 模式与Java  回复  更多评论   

2007-04-13 11:11 by CoderDream
理解不错,支持一下!

# re: 模式与Java  回复  更多评论   

2007-11-13 14:36 by reap
难道PC机坏了,显示器就不能用了吗?
或者显示器还可以接其他主机用,也是共享的。
所以组合关系的例子不好

# re: 模式与Java[未登录]  回复  更多评论   

2007-11-14 08:53 by fph
有道理,人和胳膊的例子如何?

只有注册用户登录后才能发表评论。


网站导航: