zoukankan      html  css  js  c++  java
  • 设计模式之—外观模式<Facade Pattern>

     外观模式(门面模式):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。它体现了依赖倒转和多米特法则

    子系统一(SubSystemOne)

    namespace Facade_Pattern.CLASS
    {
        class SubSystemOne
        {
            public void MethodA()
            {
                Console.WriteLine("子系统一实现方法A");
            }
        }
    }
    View Code

    子系统二(SubSystemTwo)

    namespace Facade_Pattern.CLASS
    {
        class SubSystemTwo
        {
            public void MethodB()
            {
                Console.WriteLine("子系统二实现方法B");
            }
        }
    }
    View Code

    子系统三(SubSystemThree)

    namespace Facade_Pattern.CLASS
    {
        class SubSystemThree
        {
            public void MethodC()
            {
                Console.WriteLine("子系统三实现功能C");
            }
        }
    }
    View Code

    外观类(Facade)

    namespace Facade_Pattern.CLASS
    {
        class Facade
        {
            SubSystemOne A;
            SubSystemThree C;
            SubSystemTwo B;
            public Facade()
            {
                A = new SubSystemOne();
                B = new SubSystemTwo();
                C = new SubSystemThree();
            }
            public void MethodA()
            {
                A.MethodA();
                B.MethodB();
            }
    
            public void MethodB()
            {
                B.MethodB();
                C.MethodC();
            }
        }
    }
    View Code

    测试类(TestMain):

    namespace Facade_Pattern
    {
        class TestMain
        {
            static void Main(string[] args)
            {
                Facade facade = new Facade();
                Console.WriteLine("方法A:");
                facade.MethodA();
                Console.WriteLine("方法B:");
                facade.MethodB();
                Console.ReadLine();
            }
        }
    }
    View Code

    测试结果:

    要么忍,要么狠,要么滚!
  • 相关阅读:
    使 Inno Setup 打包出的安装程序以管理员身份运行
    SQL SERVER 数据库被标记为“可疑”的解决办法
    SQL SERVER 查看数据库信息
    【转】如何正确地处理时间
    如何获取 XAML 控件的模板代码
    Asp.Net MVC 把PartialView、View转换成字符串
    表达式树在LINQ动态查询
    ASP.NET MVC5 实现分页查询
    WPF
    正则表达式定义
  • 原文地址:https://www.cnblogs.com/zxd543/p/3246531.html
Copyright © 2011-2022 走看看