zoukankan      html  css  js  c++  java
  • Chapter 12 外观模式

    外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个模式使得这一子系统更加容易使用。

    外观模式三个阶段:

    首先,在设计初期阶段,应该要有意识的将不同的两个层分离。

    其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,增加外观可以提供一个简单的接口,减少他们之间的依赖。

    最后,在维护一个遗留的大型系统时,可能这个系统已经非常难以维护和扩展了,可以为系统开发一个外观类。

    示例代码如下:

    package xiao;
    class Fund{
        private Stock2 stock2;
        private Stock3 stock3;
        private Stock1 stock1;
        public Fund(){
            this.stock1 = new Stock1();
            this.stock2 = new Stock2();
            this.stock3 = new Stock3();
        }
        public void BuyFund(){
            stock1.buy();
            stock2.buy();
            stock3.buy();
        }
        public void SellFund(){
            stock1.sell();
            stock2.sell();
            stock3.sell();
        }
    }
    class Stock1{
        public void buy(){
            System.out.println("buy stock one!");
        }
        public void sell(){
            System.out.println("sell stock one!");
        }
    }
    class Stock2{
        public void buy(){
            System.out.println("buy stock two!");
        }
        public void sell(){
            System.out.println("sell stock two!");
        }
    }
    class Stock3{
        public void buy(){
            System.out.println("buy stock three!");
        }
        public void sell(){
            System.out.println("sell stock three!");
        }
    }
    public class abc {
        public static void main(String[] args) {
            Fund jijin = new Fund();
            jijin.BuyFund();
            jijin.SellFund();
        }
    }

  • 相关阅读:
    php之static静态变量详解
    设计模式【代理模式】
    小牟Andorid下面MD5具体实现的思路总结
    ubuntu14.04安装MySQL
    Android手机定位技术的发展
    我不同意你,这是您的支持
    我要遵守11文章数据库设计指南
    quick-cocos2d-x游戏开发【3】——display.newSprite创建向导
    第二章 自己的框架WMTS服务,下载数据集成的文章1
    JSTL实现int数据的类型的长度
  • 原文地址:https://www.cnblogs.com/tuifeideyouran/p/3734138.html
Copyright © 2011-2022 走看看