外觀模式,也叫做門面(facade)模式,它為子系統中的各類(或結構與方法)提供乙個簡明一致的介面,隱藏子系統的複雜性,使得子系統更加容易使用。
從電腦啟動和關閉來看吧,電腦啟動時,其一些組成部件也要啟動,關閉時,部件也要關閉,比如:cpu、記憶體、硬碟。
cpu類:
public class cpu
//cpu關閉
public void shutdown()
}
memory類:
public class memory
//memory關閉
public void shutdown()
}
harddrive類:
public class harddrive
//harddrive 關閉
public void shutdown()
}
computer類:
public class computer
public void startup()
public void shutdown()
}
user類:
public class user
}
輸出結果:
start the computer
cpu startup
memory startup
harddrive startup
start computer complete
shutdown computer start
cpu shutdown
memory shutdown
harddrive shutdown
shutdown computer complete
如果沒有computer類,那麼cpu、memory、harddrive就得相互持有引用,如果修改乙個類,其他的類都得做改動,而且將各個配置的方法統一放在computer類的方法中,他們的執行順序也很好控制。以後若要修改他們的關係,都可以在computer類中修改,這樣就起到了解耦的作用。
外觀模式的要點:
1、外觀模式為複雜子系統提供了乙個簡單介面,並不為子系統新增新的功能和行為。
2、外觀模式實現了子系統與客戶之間的松耦合關係。
3、外觀模式沒有封裝子系統的類,只是提供了簡單的介面。 如果應用需要,它並不限制客戶使用子系統類。因此可以再系統易用性與通用性之間選擇。
4、外觀模式注重的是簡化介面,它更多的時候是從架構的層次去看整個系統,而並非單個類的層次。
java外觀模式
外觀模式 為子系統中的一組介面提供乙個一致的對外介面,facade模式定義了乙個高層介面,這個介面使得這個一子系統更容易使用。package facade class drawerone public void getkey class drawertwo public void getfile c...
Java 外觀模式
外觀模式的作用 為子系統提供統一的入口,封裝子系統的複雜性,便於客戶端的呼叫。外觀模式的角色 1.外觀角色 外觀模式的核心,它被客戶端呼叫,熟悉子系統角色的功能,可以根據具體需求,自由組合子系統的功能。2.子系統角色 外觀模式中,可以有乙個或多個的子系統角色,每乙個子系統可以直接被客戶端直接呼叫,或...
Java設計模式 外觀模式
外觀模式 facade 外觀模式的意圖是 為子系統提供乙個介面,便於它的使用。解釋 簡單的說,外觀模式就是封裝多個上層應用需要的方法,使得上層呼叫變得簡單,為上層提供簡單的介面,是設計模式中一種比較簡單的設計思想,但是,也是最常用的一種設計模式。舉例 當你想吃橘子的時候,你需要做那幾件事呢?1 去買...