JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Software Engineering » UML  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Dependency與Association的差異
chris71711





發文: 3
積分: 0
於 2009-05-31 16:07 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
相依關係(Dependency)根據Fowler原文書上是這樣解釋的:

Dependency exists between two elements if a Change in one may cause change to other.

意思是,當一個元素的改變會造成另一個元素的改變,那麼這兩個元素就存在著相依關係。而相依關係通常會在下面幾個情況中出現:
(1)  當某類別傳送訊息給另一個類別
(2)  某類別是另一類別資料的一部份
(3)  某類別將另一類別當做其method的參數使用

看到這裡讓我感到疑惑的是,第二點的情況似乎也是一種關聯關係(Association)?也就是Dependency是Association的超集合嗎?

翻了幾本書,但都沒有看到有討論兩種關係的差異,但我也不想就直接認定Dependency就是Association的超集合。因為兩者如果有這樣的關係,書上應該都會直接說明,就像Aggregation、Composition與Association的關係一樣。

小弟最近也同時在看Design Pattern的書,書上將所有Pattern根據用途及目的分成三種模式:Creational、Structural及Behavioral。有些Pattern雖然它的Class Diagram長得一樣,但它們的用途及目的卻是不同的,所以需要分別討論。

這讓我聯想到Dependency與Association差異:這兩個關係是在討論不同面向的問題。

Association著重於討論class間「靜態結構」的關係,或許這個靜態結構可能會(也可能不會)造成class間的Dependency,但這不是Association討論的重點。而相反的,Dependency著重於討論類別間或程式單元間相依程度。

因此Dependency與Association並不適合用超集合跟子集合?因為它們根本就不是討論相同的關係?

以上是我的一些小疑惑,希望先輩們可以給一指導我的理解上是否有什麼問題。謝謝!


reply to postreply to post
作者 Re:Dependency與Association的差異 [Re:chris71711]
twntwn





發文: 7
積分: 0
於 2009-12-20 22:37 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
可以看UML Spec
7.3.12 Dependency (from Dependencies).


reply to postreply to post
作者 Re:Dependency與Association的差異 [Re:chris71711]
diymike





發文: 4
積分: 0
於 2010-02-18 23:00 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
你提到的(2)項其實是 Association在coding上的意義,也就是class間靜態關係的實現。而(1)、(3)兩項則屬於Dependency沒錯,也就是動態(系統運作)時對其他object的引用(use)。

所以當然Association與Dependency講的是不同的東東,問題應該在於,指所列(1)、(2)、(3)項都屬Dependency這個說法是不對的。


reply to postreply to post
作者 Re:Dependency與Association的差異 [Re:diymike]
starlin





發文: 14
積分: 0
於 2011-06-12 17:59 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
1) Association is a relationship needed to be mapped and be persisted in JPA/Hibernate

2) Association ussually occurs between Business Entities on Domain Model

3) Association is the collaboration base to envlove Business Methods on Business Entities

4) Dependence a use relationship such as calling a static method or a Singleton method


starlin edited on 2011-06-12 18:07
reply to postreply to post
» JWorld@TW »  Software Engineering » UML

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8