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();
        }
    }

  • 相关阅读:
    The Balance POJ 2142 扩展欧几里得
    扩展欧几里得定理总结
    Crashing Robots POJ 2632 简单模拟
    POJ 1328 Radar Installation 贪心算法
    The Pilots Brothers' refrigerator DFS+枚举
    HDU RSA 扩展欧几里得
    HDU A/B 扩展欧几里得
    ACM 数学
    E
    BZOJ 3223: Tyvj 1729 文艺平衡树
  • 原文地址:https://www.cnblogs.com/tuifeideyouran/p/3734138.html
Copyright © 2011-2022 走看看