股民炒股票
/** * 股票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买入"); }}
/**
* 股票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类似}
* 股票2
public class Stock2 {
// 代码与股票1类似
* 股票3
public class Stock3 {
* 国债1
public class NationalDebt1 {
* 房地产1
public class Realty1 {
/** * 炒股测试 * 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(); }}
* 炒股测试
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卖出
股票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(); }}
* 基金类(Facade)
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(){
// 卖基金
public void sellFund(){
/** * 基金测试(外观模式) * Created by callmeDevil on 2019/7/20. */public class Test { public static void main(String[] args) { // 此时用户不需要了解股票,甚至可以对股票一无所知,买了基金就回家睡觉 // 一段时间后再赎回就可以大把数钱,参与股票的具体买卖都有基金公司完成 // 客户端代码非常简洁明了 Fund fund = new Fund(); // 购买基金 fund.buyFund(); // 基金赎回 fund.sellFund(); }}
* 基金测试(外观模式)
// 此时用户不需要了解股票,甚至可以对股票一无所知,买了基金就回家睡觉
// 一段时间后再赎回就可以大把数钱,参与股票的具体买卖都有基金公司完成
// 客户端代码非常简洁明了
Fund fund = new Fund();
// 购买基金
fund.buyFund();
// 基金赎回
fund.sellFund();
测试结果同上,此处省略。
原文链接:http://www.cnblogs.com/call-me-devil/p/11217645.html
本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728