《大话设计模式》Java代码示例(八)之外观模式

外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

 

package facade;

/**
 * 外观模式(Facade)
 * 股票1
 */
public class Stock1 {

    // 卖股票
    public void sell() {
        System.out.println("股票1卖出");
    }

    // 买股票
    public void buy() {
        System.out.println("股票1买入");
    }

}
package facade;

/**
 * 外观模式(Facade)
 * 股票2
 */
public class Stock2 {

    // 卖股票
    public void sell() {
        System.out.println("股票2卖出");
    }

    // 买股票
    public void buy() {
        System.out.println("股票2买入");
    }

}
package facade;

/**
 * 外观模式(Facade)
 * 股票3
 */
public class Stock3 {

    // 卖股票
    public void sell() {
        System.out.println("股票3卖出");
    }

    // 买股票
    public void buy() {
        System.out.println("股票3买入");
    }

}

package facade;

/**
 * 外观模式(Facade)
 * 国债1
 */
public class NationalDebt1 {

    // 卖国债
    public void sell() {
        System.out.println("国债1卖出");
    }

    // 买国债
    public void buy() {
        System.out.println("国债1买入");
    }

}
package facade;

/**
 * 外观模式(Facade)
 * 房产1
 */
public class Realty1 {

    // 卖房产
    public void sell() {
        System.out.println("房产1卖出");
    }

    // 买房产
    public void buy() {
        System.out.println("房产1买入");
    }

}
package facade;

/**
 * 外观模式(Facade)
 * 基金类
 */
public class Fund {

    Stock1 stock1;
    Stock2 stock2;
    Stock3 stock3;
    NationalDebt1 nationalDebt1;
    Realty1 realty1;

    public Fund() {
        stock1 = new Stock1();
        stock2 = new Stock2();
        stock3 = new Stock3();
        nationalDebt1 = new NationalDebt1();
        realty1 = new Realty1();
    }

    public void buyFund() {
        stock1.buy();
        stock2.buy();
        stock3.buy();
        nationalDebt1.buy();
        realty1.buy();
    }

    public void sellFund() {
        stock1.sell();
        stock2.sell();
        stock3.sell();
        nationalDebt1.sell();
        realty1.sell();
    }

}
package facade;

/**
 * 外观模式(Facade)
 * 客户端main方法
 */
public class Client {

    public static void main(String[] args) {
        Fund fund = new Fund();
        // 基金买入
        fund.buyFund();
        // 基金赎回
        fund.sellFund();
    }

}

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值