概述
注:示例来自《大话设计模式》
现有股民炒股票的代码如下
股票1类
package Test11;
//股票1
public class Stock1 {
//卖股票
public void Sell()
{
System.out.println(" 股票1卖出");
}
//买股票
public void Buy()
{
System.out.println(" 股票1买入");
}
}
股票2类
package Test11;
//股票2
public class Stock2 {
//卖股票
public void Sell()
{
System.out.println(" 股票2卖出");
}
//买股票
public void Buy()
{
System.out.println(" 股票2买入");
}
}
股票3类
package Test11;
//股票3
public class Stock3 {
//卖股票
public void Sell()
{
System.out.println(" 股票3卖出");
}
//买股票
public void Buy()
{
System.out.println(" 股票3买入");
}
}
国债1类
package Test11;
//国债1
public class NationalDebt1 {
//卖国债
public void Sell()
{
System.out.println(" 国债1卖出");
}
//买国债
public void Buy()
{
System.out.println(" 国债1买入");
}
}
房地产1类
package Test11;
//房地产1
public class Realty1 {
//卖房地产
public void Sell()
{
System.out.println(" 房产1卖出");
}
//买房地产
public void Buy()
{
System.out.println(" 房产1买入");
}
}
客户端代码
package Test11;
public class Program {
public static void main(String[] args) {
Stock1 gu1 = new Stock1();
Stock2 gu2 = new Stock2();
Stock3 gu3 = new Stock3();
NationalDebt1 nd1 = new NationalDebt1();
Realty1 rt1 = new Realty1();
gu1.Buy();
gu2.Buy();
gu3.Buy();
nd1.Buy();
rt1.Buy();
gu1.Sell();
gu2.Sell();
gu3.Sell();
nd1.Sell();
rt1.Sell();
}
}
上面的写法 用户需要了解股票 国债 房产情况 需要参与这些项目的具体买和卖 耦合性很高
下面我们增加一个基金类 它需要了解所有的股票或其他投资方式的方法或属性 进行组合 以备外界调用 代码如下
基金类
package Test11;
public class Fund {
Stock1 gu1;
Stock2 gu2;
Stock3 gu3;
NationalDebt1 nd1;
Realty1 rt1;
public Fund()
{
gu1 = new Stock1();
gu2 = new Stock2();
gu3 = new Stock3();
nd1 = new NationalDebt1();
rt1 = new Realty1();
}
public void BuyFund()
{
gu1.Buy();
gu2.Buy();
gu3.Buy();
nd1.Buy();
rt1.Buy();
}
public void SellFund()
{
gu1.Sell();
gu2.Sell();
gu3.Sell();
nd1.Sell();
rt1.Sell();
}
}
客户端代码
package Test11;
public class Program {
public static void main(String[] args) {
Fund jijin = new Fund();
jijin.BuyFund();
jijin.SellFund();
}
}
此时用户不需要了解股票 甚至可以对股票一无所知 买了基金就回家睡觉 一段时间后再赎回就可以大把数钱 参与股票的具体买卖都由基金公司完成 客户端代码非常简捷明了 这样的写法 基本就是外观模式的基本代码结构了
外观模式 为子系统中的一组接口提供一个一致的界面 此模式定义了一个高层接口 这个接口使得这一子系统更加容易使用
最后
以上就是冷傲小熊猫为你收集整理的大话设计模式之外观模式总结-java实现的全部内容,希望文章能够帮你解决大话设计模式之外观模式总结-java实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复