依賴和關聯的區別(轉)

 轉自:http://www.cnblogs.com/rayrain/articles/1530606.html

 

只要存在對象間的交互,無論是控制的還是數據的,兩者之間就存在依賴。
我們現在說的依賴,它是比關聯更弱的關係。

依賴是對象間短暫的一種關係,在這個短暫的關係中,被調用類表現爲調用類的局部變量、方法的參數、以及調用類調用被調用類的靜態方法,在這些情況下,我們說調用類和被調用類之間就屬於依賴關係。

關聯是對象間長期的一種關係,在這個長期的關係中,被調用類表現爲調用類的引用、或者調用類的屬性,在這些情況下,我們說調用類和被調用類之間就屬於關聯關係。
常見的關聯關係有:一對一關係、一對多關係、多對多關係,例如典型的客戶與訂單、公司與員工的關係就是一種關聯關係。

實例:
一、依賴關係:
1、作爲調用類的局部變量
Class A
{
    Void MethodA()
    {
        B b = new B();
        b.MethodB();
    }
}
2、作爲調用類方法的參數
Class A
{
    Void MethodA(B b)
    {
        b.MethodB();
    }
}
3、調用被調用類的靜態方法
Class A
{
    Void MethodA()
    {
        B.StaticMethod();
    }
}

二、關聯關係
1、作爲調用類的引用
Class A
{
      B b;
      Public Class A
      {
            b = new B();
      }
      Void MethodA()
     {
            b.MethodB();
     }
}
2、作爲調用類的屬性
Class A
{
      B b;
      Public PropertyB
      {
         Get { return this.b; }
         Set { this.b = value; }
      }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章