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

    测试结果:

    要么忍,要么狠,要么滚!
  • 相关阅读:
    MyBatis总结(一)
    MyBatis简介
    数据持久化与ORM
    主流框架介绍
    JSP数据交互(一)
    tomcat端口被占用
    动态网页开发基础
    jQuery内容
    正则表达式
    初始Mybatis
  • 原文地址:https://www.cnblogs.com/zxd543/p/3246531.html
Copyright © 2011-2022 走看看