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、实现效果图。

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

相关推荐
Calvin8808287 天前
Kotlin设计模式:深入解析Facade模式
设计模式·kotlin·外观模式
捕风捉你8 天前
深入理解外观模式(Facade Pattern)及其实际应用
java·开发语言·外观模式
橘猫1114 天前
设计模式——外观模式
设计模式·外观模式
明戈戈18 天前
设计模式-外观模式
设计模式·外观模式
程序员与背包客_CoderZ19 天前
C++设计模式——Facade外观模式
linux·c语言·开发语言·c++·设计模式·外观模式
没有理想的不伤心23 天前
外观模式(大话设计模式)C/C++版本
c语言·设计模式·外观模式
暮雨FH25 天前
设计模式——外观模式
设计模式·外观模式
java小郭1 个月前
设计模式之外观模式
设计模式·外观模式
Conce-lin1 个月前
【设计模式之外观模式 -- C++】
c++·设计模式·外观模式
沉夢志昂丶1 个月前
C++中的外观模式
c++·microsoft·外观模式