//迪米特法則: 也叫最少知識原則。若是兩個類沒必要彼此直接通訊,那麼這兩個類就不該當發生直接的相互做用。
//若是其中一個類須要調用另外一個類的某一個方法的話,能夠經過第三者轉發這個調用。
//前提: 在類的結構設計上,每個類都應當儘可能下降成員的訪問權限。
//根本思想: 強調了類之間的鬆耦合。設計
//8.外觀模式 //ver1 //股票1 class Stock1 { public: void Buy(){} void Sell(){} }; //股票2 class Stock2 { public: void Buy(){} void Sell(){} }; //國債1 class NationalDebt1 { public: void Buy(){} void Sell(){} }; //房地產1 class Realty1 { public: void Buy(){} void Sell(){} }; //基金類 class Fund { private: Stock1 *ps1; Stock2 *ps2; NationalDebt1 *pnd1; Realty1 *prt1; public: Fund() { ps1 = new Stock1(); ps2 = new Stock2(); pnd1 = new NationalDebt1(); prt1 = new Realty1(); } //方法A void MethodA() { ps1->Buy(); ps2->Buy(); } //方法B void MethodB() { pnd1->Buy(); prt1->Buy(); } }; void main1() { Fund *pjj = new Fund(); //外觀類須要瞭解全部的子系統的方法或屬性,進行組合,以備外界調用。 pjj->MethodA(); pjj->MethodB(); }
//外觀模式,爲子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。blog
//什麼時候使用外觀模式:
//1.在設計初期階段,應該要有意識的將不一樣的兩個層分離。
//2.在開發階段,子系統每每由於不斷的重構演化而變得愈來愈複雜。
//增長外觀類能夠提供一個簡單的接口,減小他們之間的依賴。接口