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();//鱼和鸟比赛
            }
  • 相关阅读:
    PHP中如何获取多个checkbox的值
    修改Netbeans默认使用UTF-8编码
    php用户注册
    windows环境下MySQL重启的命令行说明
    wampserver修改mysql数据库密码后phpMyAdmin无法连接数据库
    JavaScript判断闰年
    移动端300毫秒事件响应延迟解决方法[fastclick]
    移动端一像素边框解决方案[css scale]
    移动端禁止缩放<meta>
    数据结构概念
  • 原文地址:https://www.cnblogs.com/kavilee/p/2360755.html
Copyright © 2011-2022 走看看