java设计模式之外观模式

这一节说说外观模式,这个模式还是很简单的,平时也许我们都用上了,只是不知道它叫外观模式而已,这个模式的模拟环境是股票的问题。

我们先来分析下股票的一些知识,在股市上,大多数人都是赔钱的,这是为什么呢,原因还是比较明朗的,一个人面对那么多的股票信息,还要对政策等一系列信息进行分析,而大多数股民都不熟悉,更加谈不上专业,就一个股票软件要完全弄明白都是够呛。从这方面来说,不赔钱都难。那有没有专业的机构帮我们做呢?这样基金就出现了,你可以将钱投给基金,基金的组织的都是专业级的,让他们帮我们处理,我们只需要跟基金进行交易,而基金再跟复杂的股票打交道,这样不就比较简单了。而这种思想就是外观模式的表现。感觉是不是似曾相识呢。看来设计模式也来源于我们的生活啊。

1。基金,也就是外观类

package com.yjck.facade;
/**
 * 基金,也就是是外观类
 */
public class Fund {
	/**
	 * 股票
	 */
	private Stock1 stock1;
	private Stock2 stock2;
	private Stock3 stock3;
	/**
	 * 国债
	 */
	private NationalDebt1 nd;
	/**
	 * 房地产
	 */
	private Realty1 realty1;
	public Fund(){
		this.stock1 = new Stock1();
		this.stock2 = new Stock2();
		this.stock3 = new Stock3();
		this.nd = new NationalDebt1();
		this.realty1 = new Realty1();
	}
	/**
	 * 基金买入
	 */
	public void buyFund(){
		this.stock1.buy();
		this.stock2.buy();
		this.stock3.buy();
		this.nd.buy();
		this.realty1.buy();
	}
	/**
	 * 基金卖出
	 */
	public void sellFund(){
		this.stock1.sell();
		this.stock2.sell();
		this.stock3.sell();
		this.nd.sell();
		this.realty1.sell();
	}

}

 

2。具体的基金信息省略,easy的狠狠

3。客户端调用,我们只需要面对基金

package com.yjck.facade;

public class Run {
	/**
	 * 客户
	 */
	public static void main(String[] args) {
		Fund fund = new Fund();
		fund.buyFund();
		fund.sellFund();
	}
	/**********外观模式的说明*********
	 * 外观模式只是暴露给我们一个拥有操作的类
	 * 而外观类将负责的处理封装起来,客户端
	 * 只需要对外观类进行操作,而不需要明白
	 * 外观类到底是如何进行操作的。也就是说
	 * 对用户是透明的。
	 */

}

 

你可能感兴趣的:(java,设计模式,生活)