zoukankan      html  css  js  c++  java
  • C# 外观模式(Facade)

    该模式主要是针对客户端要同时操作多个子系统时,可以在客户端和子系统之间建立一个外观类,这样客户端只需要操作外观类就可以了,用法实例比如多层架构中,上层通过接口对下层的进行调用, 该模式代码如下:

     using System.Windows.Forms;


    namespace DesignMode.Facade
    {
        //
        public class Fish
        {
            public void Swim()
            {
                MessageBox.Show("Start Swimming;");
            }
        }

        //
        public class Person
        {
            public void Walk()
            {
                MessageBox.Show("Start Walking;");
            }
        }

        //
        public class Bird
        {
            public void Fly()
            {
                MessageBox.Show("Start Flying");
            }
        }


        //外观类
        public class MyFacade
        {
            Fish fish;
            Person person;
            Bird bird;

            public MyFacade()
            {
                fish = new Fish();
                person = new Person();
                bird = new Bird();
            }

            //全部比赛
            public void Run_All()
            {
                fish.Swim();
                person.Walk();
                bird.Fly();
            }

            //鱼和人比赛
            public void Run_FishAndPerson()
            {
                fish.Swim();
                person.Walk();
            }

            //鱼和鸟比赛
            public void Run_FishAndBird()
            {
                fish.Swim();
                bird.Fly();
            }
        }
    }


    客户端调用:

            private void btn_Facade_Click(object sender, EventArgs e)
            {
                MyFacade facade = new MyFacade();
                facade.Run_All();//全部开始比赛
                facade.Run_FishAndPerson();//鱼和人比赛
                facade.Run_FishAndBird();//鱼和鸟比赛
            }
  • 相关阅读:
    Win7系统中打开exe 无反应
    IE 浏览器主页劫持 如何修复
    win10 airpods显示已配对,但就是连不上怎么办?
    tp5 layui 渲染 时间戳转换为日期时间格式
    为什么要设置 繁琐的密码
    美食摄影 – 明确目的
    MsMpEng.exe进程停止删除或弹出设备,导致移动硬盘无法正常弹出,怎么办?
    单抗热门靶点 | VEGF | TNF-α | CD20 | HER2 | PD-1 | IL-6R | CD47
    EZH2 | Ezh2 | 组蛋白甲基化酶/组蛋白甲基转移酶
    宇宙微波背景辐射 | 著名实验
  • 原文地址:https://www.cnblogs.com/kavilee/p/2360755.html
Copyright © 2011-2022 走看看