`

大话设计模式十二:门面模式(牛市股票也会亏钱)

 
阅读更多

Client客户端只和Facade打交道,而Facade方法中封装了多个其他复杂方法。

外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,从而使得客户端不需要知道一些更加细节的东西。充分体现了依赖倒转原则(高层模块不依赖低层模块,它们都依赖于抽象)和迪米特法则(如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某个方法的话,可以通过第三者转发这个调用)。

//基金类
public class Fund
{
	Stock1			gu1;
	Stock2			gu2;
	Stock3			gu3;
	NationalDebt1	nd1;
	Realty1			rt1;

	public Fund()
	{
		gu1 = new Stock1();
		gu2 = new Stock2();
		gu3 = new Stock3();
		nd1 = new NationalDebt1();
		rt1 = new Realty1();
	}

	public void buyFund()
	{
		gu1.buy();
		gu2.buy();
		gu3.buy();
		nd1.buy();
		rt1.buy();
	}

	public void sellFund()
	{
		gu1.sell();
		gu2.sell();
		gu3.sell();
		nd1.sell();
		rt1.sell();
	}
}
//客户端代码
public class Main
{
	public static void main(String[] args)
	{
		Fund jijin = new Fund();
		jijin.buyFund();
		jijin.sellFund();
	}
}



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics