• 设计模式学习笔记——外观模式(Facade)


    1.特点:子系统的高层接口,避免两个类直接关系的第三者。

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

    3.类图:

    4.程序实现:

    /// <summary>
        /// 子系统中的一个类
        /// </summary>
        public class SubSystemOne
        {
            public void MethodeOne()
            {
                Console.WriteLine("Sub System first method.");
            }
        }
    
        /// <summary>
        /// 子系统中一个类
        /// </summary>
        public class SubSystemTwo
        {
            public void MethodTwo()
            {
                Console.WriteLine("Sub System second method.");
            }
        }
    
        /// <summary>
        /// 子系统中一个类
        /// </summary>
        public class SubSystemThree
        {
            public void MethodThree()
            {
                Console.WriteLine("Sub System third method.");
            }
        }
    
        /// <summary>
        /// 子系统中一个类
        /// </summary>
        public class SubSystemFour
        {
            public void MethodFour()
            {
                Console.WriteLine("Sub System fourth method.");
            }
        }
    
        /// <summary>
        /// 外观类
        /// </summary>
        public class Facade
        {
            private SubSystemOne one;
            private SubSystemTwo two;
            private SubSystemThree three;
            private SubSystemFour four;
    
            public Facade()
            {
                one = new SubSystemOne();
                two = new SubSystemTwo();
                three = new SubSystemThree();
                four = new SubSystemFour();
            }
    
            public void MethodA()
            {
                Console.WriteLine("
    Method group A----");
                one.MethodeOne();
                two.MethodTwo();
                four.MethodFour();
            }
    
            public void MethodB()
            {
                Console.WriteLine("
    Method group B----");
                two.MethodTwo();
                three.MethodThree();
            }
        }
    class Program
        {
            static void Main(string[] args)
            {
                // 由于Facade的作用,客户端可以根本不知道子系统类的存在
                Facade facade = new Facade();
                facade.MethodA();
                facade.MethodB();
    
                Console.Read();
            }
        }
    

      

  • 相关阅读:
    数据库的单表查询Ⅰ
    数据库的基本操作Ⅲ
    数据库基本操作Ⅱ
    数据库的基本操作Ⅰ
    MYSQL的三种安装方式
    操作系统学期小结二
    操作系统学期小结一
    MAP接口课堂练习
    关于list接口和set接口的示例应用
    课堂作业整理三 (集合:list接口)
  • 原文地址:https://www.cnblogs.com/ice-baili/p/4729256.html
Copyright © 2020-2023  润新知