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();//鱼和鸟比赛
            }
  • 相关阅读:
    MySQL进阶(视图)---py全栈
    py基础__socket编程
    MIPS Instruction Set
    WD-保修验证(WCC7K4ARTDF1)
    Seagate-保修验证(za25shrx)
    excel-vlookup
    ebook https://salttiger.com/category/notification/
    远程登录DSM,显示“您没有权限使用本项服务?
    tplink-如何远程WEB管理路由器?
    synology terminal
  • 原文地址:https://www.cnblogs.com/kavilee/p/2360755.html
Copyright © 2011-2022 走看看