第30章

大B:“說說在什麽情況下可以使用它吧!”

小A:“1、為一個比較複雜的子係統提供一個簡單的接口。2、將客戶程序與子係統的實現部分分離,提高子係統的獨立性和可移植性。3、簡化子係統間的依賴關係。”

大B:外觀模式(Facadepattern)涉及到子係統的一些類。所謂子係統,是為提供一係列相關的特征(功能)而緊密關聯的一組類。例如,一個Account類、Address類和CreditCard類相互關聯,成為子係統的一部分,提供在線客戶的特征。在真實的應用係統中,一個子係統可能由很多類組成。子係統的客戶為了它們的需要,需要和子係統中的一些類進行交互。客戶和子係統的類進行直接的交互會導致客戶端對象和子係統(Figure1)之間高度耦合。任何的類似於對子係統中類的接口的修改,會對依賴於它的所有的客戶類造成影響。