• 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();//鱼和鸟比赛
            }
  • 相关阅读:
    jQuery学习之------对标签属性的操作
    jQuery学习之------选择器
    PHP读取mysql中的数据
    sql server 数据库创建链接服务器访问另外一个sql server 数据库
    SQLServer使用链接服务器远程查询
    解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问的方法
    Delphi XE10百集视频教程计划
    Windows 版本的iTunes 修改iPhone的备份路径
    Centos7 下mysql 密码重置
    Windows server 2012文件服务器配置
  • 原文地址:https://www.cnblogs.com/kavilee/p/2360755.html
Copyright © 2020-2023  润新知