共计 1873 个字符,预计需要花费 5 分钟才能阅读完成。
0x01:外观模式简介
外观模式(又称门面模式),通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会升高应用程序的复杂度,并且进步了程序的可维护性。UML 类图如下:
其中 Facade 是外观角色,也叫门面角色,客户端能够调用这个角色的办法,此角色通晓子系统的所有性能和责任,将客户端的申请代理给适当的子系统对象;
Subsystem 是子系统角色,能够同时领有一个或多个子系统,每一个子系统都不是一个独自的类,而是一个类的汇合,子系统并不知道门面的存在。
0x02:外观模式的实现
定义子系统 Subsystem
public class SubSystemA {public void dosomethingA() {System.out.println("SubSystemA dosomethingA"); | |
} | |
} | |
public class SubSystemB {public void dosomethingB() {System.out.println("SubSystemB dosomethingB"); | |
} | |
} |
外观角色 Facade
public class Facade { | |
// 被委托的对象 | |
private SubSystemA a; | |
private SubSystemB b; | |
public Facade() {a = new SubSystemA(); | |
b = new SubSystemB();} | |
// 提供给内部拜访的办法 | |
public void methodA() {this.a.dosomethingA(); | |
} | |
public void methodB() {this.b.dosomethingB(); | |
} | |
} |
测试代码
public class Client {public static void main(String[] args) {Facade facade = new Facade(); | |
facade.methodA(); | |
facade.methodB();} | |
} |
0x03:利用
因为程序员薪资广泛绝对较高,所以个别有些小钱。那如何进行财产治理呢?本人购买股票呢?又不能很好的把握交易点,常常被人割韭菜。那还有什么治理财产的渠道吗?购买基金就是一个不错的渠道。
股票、国债、期货类
public class Stock{ | |
// 买股票 | |
public void buy() {System.out.println("股票 1 买入"); | |
} | |
// 卖股票 | |
public void sell() {System.out.println("股票 1 卖出"); | |
} | |
} | |
public class NationalDebt{ | |
// 买国债 | |
public void buy() {System.out.println("国债 1 买入"); | |
} | |
// 卖国债 | |
public void sell() {System.out.println("国债 1 卖出"); | |
} | |
} | |
public class Futures{ | |
// 买期货 | |
public void buy() {System.out.println("期货 1 买入"); | |
} | |
// 卖期货 | |
public void sell() {System.out.println("期货 1 卖出"); | |
} | |
} |
基金类
基金经理人通过该类作为两头交互者,能够接受投资者的资金,对立对股票、国债、期货进行购买和赎回操作。
public class Fund { | |
private Stock stock; | |
private NationalDebt nationalDebt; | |
private Futures futures; | |
public Fund() {stock = new Stock(); // 配置 30% | |
nationalDebt = new NationalDebt(); // 配置 60% | |
futures = new Futures(); // 配置 20%} | |
// 购买基金 | |
public void buyFund() {stock.buy(); | |
nationalDebt.buy(); | |
futures.buy();} | |
// 赎回基金 | |
public void sellFund() {stock.sell(); | |
nationalDebt.sell(); | |
futures.sell();} | |
} |
下面这是一个基金,它配置了 30% 的股票 +60% 的国债 +20% 期货。
程序员购买和赎回基金操作
public class Client {public static void main(String[] args) {Fund fund = new Fund(); | |
// 基金购买 | |
fund.buyFund(); | |
System.out.println("》》》》》》》》》》》》"); | |
// 基金赎回 | |
fund.sellFund();} | |
} |
这样的话,再也不怕炒股被割韭菜了。
正文完