為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。
等於說,把子系統的各個介面的方法,封裝成乙個方法呼叫,實現乙個功能。
我們在外邊觀察計算機的開機是怎麼樣的?
按一下開機按鈕就行了!
但是,開機過**的這麼簡單嗎?
真正的開機過程相當複雜。我就拿一些大多數人都知道*的過程來分析一下外觀模式。
主要部分:cpu、顯示卡、bios系統、主機板、記憶體、硬碟、windows系統。
這些部分都有自己的類,當作子系統,然後有個「計算機外觀」去吧各個子系統的方法封裝成乙個方法「開機」。
cpu
package 外觀模式;
public
class
cpu}
顯示卡
package 外觀模式;
public
class 顯示卡
}
bios系統
package 外觀模式;
public
class
bios
public
void 硬體檢測系統(
)public
void 轉移硬體操作許可權(
)}
主機板
package 外觀模式;
public
class 主機板
}
記憶體
package 外觀模式;
public
class 記憶體
}
硬碟
package 外觀模式;
public
class 硬碟
}
windows系統
package 外觀模式;
public
class
windows
}
計算機外觀
package 外觀模式;
public
class 計算機外觀
}
使用者
package 外觀模式;
public
class 使用者
}
執行結果
cpu初始化
顯示卡初始化
載入bios系統完成
開始自檢
主機板自檢完成,一切正常
記憶體自檢完成,一切正常
硬碟自檢完成,一切正常
硬體自檢完成,一切正常,將硬體操作轉移給windows系統
開機完成
大家從這裡邊應該可以看到,從外邊觀察,和實際進行操作的差別了。
那麼大家再想一下,windows執行乙個軟體僅僅是雙擊那麼簡單嗎?
關機是那麼簡單嗎?
相信大家對外觀模式也有一定了解了,從程式設計的角度上來說,我們把所有的子系統,各種細節都寫了出來,但是為了方便管理和呼叫,也為了其他人閱讀維護方便,把一些方法的組合封裝成乙個「功能」。這就是外觀模式!
外觀模式(Facade)
外觀模式的定義是,為子系統中的一組介面提供乙個一致的inte ce介面介面。外觀模式是個很簡單,但很重要的模式,它主要思想是將表現層和邏輯層隔離,封裝底層的複雜處理,只為使用者提供簡單的介面,這樣的例子隨處可見。外觀模式也叫門面模式,它很多時候更是一種系統架構的設計,在我所做的專案中,就實現了門面模...
Facade外觀模式
facade外觀模式,是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。facade設計模式更注重從架構的層次去看整個系統,而不是單個類的層次。facade外觀模式,是一種結構型模式,它主要解決...
Facade外觀模式
facade外觀模式,是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。在這裡我想舉乙個例子 比如,現在有一輛汽車,我們 客戶程式 要啟動它,那我們就要發動引擎 子系統1 使四個車輪 子系統2 ...