我试图了解这些术语的含义。 和我带着像几个例子:
聚集:Facebook 拥有用户
组成:在Facebook的每个用户都有一个会话。
协会:人们使用浏览器
但是我却越来越困惑与拥有并使用我的一个例子。 为什么不能是用户使用Facebook账户或Facebook 使用会话验证用户?
那是错误的OOP的方面? 当我错过什么概念?
我试图了解这些术语的含义。 和我带着像几个例子:
聚集:Facebook 拥有用户
组成:在Facebook的每个用户都有一个会话。
协会:人们使用浏览器
但是我却越来越困惑与拥有并使用我的一个例子。 为什么不能是用户使用Facebook账户或Facebook 使用会话验证用户?
那是错误的OOP的方面? 当我错过什么概念?
该用途的关系意味着两件事
- >既可以独立存在
- >数据从整个分类器( 人 )至部分分类器( 浏览器 )流
该有关系意味着两件事
- >部分分类( 会话 )的寿命依赖于整个分类器的寿命(Facebook)的
- >数据通常仅在一个方向流动(即,从整个分类器(Facebook)的所述部分分类器( 会话 ))。
这从代码项目的文章 ,使对象的一个整洁的解释。
首先,有没有石头书面方式域模型,有几种方法,是正确的建模方法对具体问题。 例如,您最初的例子使用了Facebook
类,并在您的后续你现在使用Facebook Account
类型:使用一种或另一种(或两者可能)的影响未模型,但并不能否定它。
话说,根据代码项目网站的关联关系意味着:
考虑到这一点,我不认为有之间的关联关系, User
和Facebook Account
,因为他们是彼此高度依赖(假定用户是指Facebook的用户),这样的组合物可能是一个更好的关系。
我不知道什么是你与你的闯民宅Session
类。 如果它的时间周期,而用户是connecte d有在说Facebook的使用会话进行身份验证,也许之间的asociation关系没有意义的User
和Session
可以是agregation,因为用户可以在一天内有几个会话的它的所有这些的所有者。
检查这个维基百科条目说正是讨论聚集VS组成
因此,在Java方面,Facebook的用户有一个名字(组成)和Facebook的用户有好友列表(聚合)