依賴是對象間最弱的一種關係,一個對象依賴於另一個對象是指這個對象和它之間存在短期的關係。
在這個短暫的關係中,依賴的對象通過調用被依賴對象的方法來獲取它提供的服務,或者依此來配置被依賴的對象。
關聯是對象間長期的關係。在關聯中,一個對象保存對另一個對象的引用,並在需要的時候調用這個對象的方法。
順便我把聚合和組合也抄上巴
聚合表明一個對象是一個更大的整體的一部分。這個被包含的對象可能會參與多個的聚合關係,並相對整體而對立存在。
組合表明一個對象是被一個更大的整體所擁有。這個被包含的對象可能不參與更多的組合關係,並且不能獨立於這個整體而存在。
依賴一般的表現方法是方法的局部變量,或者是方法內對靜態方法的引用!
關聯一般的表現方法是對象的全局變量!
依賴:
class A
{
void methodA()
{
B b = new B();
b.methodB();
}
}
關聯:
class B
{
B b = new B();
void methodA()
{
b.methodB();
}
}