設計模式(8)--外觀模式

//迪米特法則: 也叫最少知識原則。若是兩個類沒必要彼此直接通訊,那麼這兩個類就不該當發生直接的相互做用。
//若是其中一個類須要調用另外一個類的某一個方法的話,能夠經過第三者轉發這個調用。
//前提: 在類的結構設計上,每個類都應當儘可能下降成員的訪問權限。
//根本思想: 強調了類之間的鬆耦合。設計

 

//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.在開發階段,子系統每每由於不斷的重構演化而變得愈來愈複雜。
//增長外觀類能夠提供一個簡單的接口,減小他們之間的依賴。接口

相關文章
相關標籤/搜索