class Stock{ public String getName() { return name; } public void setName(String name) { this.name = name; } PRivate String name; public void Sell(){ System.out.println("sell "+name); } public void Buy(){ System.out.println("buy "+name); }}class Fund{ Stock gu1; Stock gu2; Stock gu3; public Fund(){ gu1=new Stock(); gu1.setName("gu1"); gu2=new Stock(); gu2.setName("gu2"); gu3=new Stock(); gu3.setName("gu3"); } public void BuyFund(){ gu1.Buy(); gu2.Buy(); gu3.Buy(); } public void SellFund(){ gu1.Sell(); gu2.Sell(); gu3.Sell(); }}public class TestFacade { public static void main(String[] args){ Fund fund=new Fund(); fund.BuyFund(); fund.SellFund(); }}通过Fund对stock封装,这样外面不用了解stock,知道几个stock实例。外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,使得子系统更加容易使用。在设计的初期,应该有意识的将不同的两个层分离。比如业务层和表示层,访问层和业务层之间建立外观模式。外观模式是为了减少耦合。因为提供统一的接口。
新闻热点
疑难解答