一、外觀模式
外觀模式是為了解決類與類之家的依賴關係的,像spring一樣,可以將類和類之間的關係配置到配置檔案中,而外觀模式就是將他們的關係放在乙個facade類中,降低了類類之間的耦合度,該模式中沒有涉及到介面,看下類圖:(我們以乙個計算機的啟動過程為例)
實現類:
public class cpu
public void shutdown()
}public class memory
public void shutdown()
}public class disk
public void shutdown()
}
電腦實現類:
public class computer
public void startup()
public void shutdown()
}
測試類:
public class user
}
輸出:
start the computer!
cpu startup!
memory startup!
disk startup!
start computer finished!
begin to close the computer!
cpu shutdown!
memory shutdown!
disk shutdown!
computer closed!
二、總結
如果我們沒有computer類,那麼,cpu、memory、disk他們之間將會相互持有例項,產生關係,這樣會造成嚴重的依賴,修改乙個類,可能會帶來其他類的修改,這不是我們想要看到的,有了computer類,他們之間的關係被放在了computer類裡,這樣就起到了解耦的作用,這就是外觀模式!
外觀模式:外部與乙個子系統的通訊必須通過乙個統一的外觀物件進行。外觀模式提供乙個高層次的介面,使得子系統更易於使用。每乙個子系統只有乙個外觀類,而且此外觀類只有乙個例項,也就是說它是乙個單例模式。但整個系統可以有多個外觀類。
結構型模式 外觀模式
外觀模式 facade 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式將客戶端與子系統的內部複雜性進行分隔開,使得客戶端只需要與外觀物件打交道,而不需要與子系統內部的很多物件打交道。外觀模式的目的在於減少系統的複雜程度。在物件導向軟體系...
外觀模式 結構型模式
1 基礎知識 定義 提供了乙個統一的介面,用來訪問子系統中的一群介面。特徵 定義了乙個高層介面讓子系統更容易使用 使用場景 子系統複雜,增加外觀模式提供呼叫介面 當構建多層系統時利用外觀物件作為每層的入口簡化層間呼叫。優點 簡化了呼叫過程,無需深入了解子系統 減少系統依賴 鬆散耦合 符合迪公尺特原則...
外觀模式 結構型模式
1 我們可以把幕布 投影儀 折疊椅,看成乙個小的系統,它裡面又有具體的相關操作。2 我們有乙個客戶端,比如開始的時候。我們就去呼叫幕布的開啟方法,投影儀的開啟方法,折疊椅的開啟方法。3 同理我們的中間 結束也都是呼叫相對應的操作方法。這樣存在乙個問題就是 外觀模式理解起來很簡單,就是我們對其提出乙個...