C#编程模式之外观模式

创作背景:给位伙伴,五一小长假结束,我们继续对C#编程之路进行探索。本文将继续编程模式的研究,主要介绍外观模式。外观模式也称为门面模式,是一种结构型设计模式,它的目的是为子系统中的一组接口提供一个统一的高层接口,使各子系统更容易使用。它隐藏了子系统的复杂性,方便使用者访问。

外观模式主要有两大部分组成,一个是外观,即高层可访问的接口类;一个是子系统,即实现具体功能的部分,通常包括多个类和接口。

具体的实现代码如下:

1、创建子系统。

cs 复制代码
    /// <summary>
    /// 子系统1
    /// </summary>
    public class SubsystemsOne
    {
        public string MethodOne()
        {
            return "子系统One的方法";
        }
    }
cs 复制代码
    /// <summary>
    /// 子系统2
    /// </summary>
    public class SubsystemsTwo
    {
        public string MethodTwo()
        {
            return "子系统Two的方法";
        }
    }
cs 复制代码
    /// <summary>
    /// 子系统3
    /// </summary>
    public class SubsystemsThree
    {
        public string MethodThree()
        {
            return "子系统Three的方法";
        }
    }

2、创建外观。

cs 复制代码
    /// <summary>
    /// 外观
    /// </summary>
    public class Facade
    {
        private SubsystemsOne subsystemsOne;
        private SubsystemsTwo subsystemsTwo;
        private SubsystemsThree subsystemsThree;

        public Facade()
        {
            subsystemsOne = new SubsystemsOne();
            subsystemsTwo = new SubsystemsTwo();
            subsystemsThree = new SubsystemsThree();
        }

        public string MethodA()
        {
            return "\r\nMethodA---\r\n" + subsystemsOne.MethodOne() + "\r\n" + subsystemsTwo.MethodTwo();
        }

        public string MethodB()
        {
            return "\r\nMethodB---\r\n" + subsystemsThree.MethodThree() + "\r\n" + subsystemsTwo.MethodTwo();
        }

    }

3、客户端调用。

cs 复制代码
        /// <summary>
        /// 外观模式
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_facade_Click(object sender, EventArgs e)
        {
            Facade.Facade facade = new Facade.Facade();
            tbox_facade.Text = facade.MethodA();
            tbox_facade.Text += facade.MethodB();
        }

4、实现效果图。

以上就是关于外观模式的一些浅显理解,以及简单的示例代码。欢迎给位伙伴一起学习。

相关推荐
Engineer邓祥浩5 天前
设计模式学习(12) 23-10 外观模式
学习·设计模式·外观模式
Geoking.6 天前
【设计模式】外观模式(Facade)详解
java·设计模式·外观模式
sxlishaobin12 天前
设计模式之外观模式
java·设计模式·外观模式
阿闽ooo21 天前
外观模式:从家庭电源控制看“简化接口“的设计智慧
c++·设计模式·外观模式
.简.简.单.单.23 天前
Design Patterns In Modern C++ 中文版翻译 第十章 外观模式
c++·设计模式·外观模式
JavaBoy_XJ24 天前
结构型-外观模式
外观模式
明洞日记25 天前
【设计模式手册023】外观模式 - 如何简化复杂系统
java·设计模式·外观模式
老朱佩琪!1 个月前
Unity外观模式
unity·游戏引擎·外观模式
__万波__1 个月前
二十三种设计模式(十)--外观模式
java·设计模式·外观模式
咨询QQ688238861 个月前
ACO蚁群算法优化KELM核极限学习机(ACO-KELM)回归预测MATLAB代码 代码注释清...
外观模式