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();//鱼和鸟比赛
            }
  • 相关阅读:
    JavaScript面向对象之闭包的理解
    JavaScript面向对象之函数构造器的理解
    记录jq控制select 选中状态
    JavaScript面向对象之创建类和方法
    获取对象属相 点运算符 和方括号 运算符
    parseFloat 和 Number isNaN 转换
    Js数据类型和运算符
    break , continue 和 标签 跳出循环
    javaScript--循环语句
    三元运算符
  • 原文地址:https://www.cnblogs.com/kavilee/p/2360755.html
Copyright © 2011-2022 走看看