股民炒股票测试
/** * 股票1 * Created by callmeDevil on 2019/7/20. */ public class Stock1 { public void sell() { System.out.println("股票1卖出"); } public void buy() { System.out.println("股票1买入"); } }
/** * 股票2 * Created by callmeDevil on 2019/7/20. */ public class Stock2 { // 代码与股票1相似 } /** * 股票3 * Created by callmeDevil on 2019/7/20. */ public class Stock3 { // 代码与股票1相似 } /** * 国债1 * Created by callmeDevil on 2019/7/20. */ public class NationalDebt1 { // 代码与股票1相似 } /** * 房地产1 * Created by callmeDevil on 2019/7/20. */ public class Realty1 { // 代码与股票1相似 }
/** * 炒股测试 * Created by callmeDevil on 2019/7/20. */ public class Test { public static void main(String[] args) { Stock1 stock1 = new Stock1(); Stock2 stock2 = new Stock2(); Stock3 stock3 = new Stock3(); NationalDebt1 debt1 = new NationalDebt1(); Realty1 realty1 = new Realty1(); // 用户须要了解股票、国债、房地产状况,须要参与这些项目的具体买卖,耦合性很高 stock1.buy(); stock2.buy(); stock3.buy(); debt1.buy(); realty1.buy(); stock1.sell(); stock2.sell(); stock3.sell(); debt1.sell(); realty1.sell(); } }
股票1买入 股票2买入 股票3买入 国债1买入 房地产1买入 股票1卖出 股票2卖出 股票3卖出 国债1卖出 房地产1卖出
为了子系统中的一组接口提供一个一致的界面,此模式定义了一个高层的接口,这个接口使得这个子系统更加容易使用。设计
/** * 基金类(Facade) * Created by callmeDevil on 2019/7/20. */ public class Fund { private Stock1 stock1; private Stock2 stock2; private Stock3 stock3; private NationalDebt1 debt1; private Realty1 realty1; public Fund(){ stock1 = new Stock1(); stock2 = new Stock2(); stock3 = new Stock3(); debt1 = new NationalDebt1(); realty1 = new Realty1(); } // 买基金 public void buyFund(){ stock1.buy(); stock2.buy(); stock3.buy(); debt1.buy(); realty1.buy(); } // 卖基金 public void sellFund(){ stock1.sell(); stock2.sell(); stock3.sell(); debt1.sell(); realty1.sell(); } }
/** * 基金测试(外观模式) * Created by callmeDevil on 2019/7/20. */ public class Test { public static void main(String[] args) { // 此时用户不须要了解股票,甚至能够对股票一无所知,买了基金就回家睡觉 // 一段时间后再赎回就能够大把数钱,参与股票的具体买卖都有基金公司完成 // 客户端代码很是简洁明了 Fund fund = new Fund(); // 购买基金 fund.buyFund(); // 基金赎回 fund.sellFund(); } }
测试结果同上,此处省略。3d