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

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

相关推荐
WispX8889 天前
【设计模式】门面/外观模式
java·开发语言·设计模式·系统架构·外观模式·插件·架构设计
蔡蓝9 天前
设计模式-外观模式
microsoft·设计模式·外观模式
琢磨先生David9 天前
简化复杂系统的优雅之道:深入解析 Java 外观模式
java·设计模式·外观模式
bao_lanlan1 个月前
兰亭妙微:用系统化思维重构智能座舱 UI 体验
ui·设计模式·信息可视化·人机交互·交互·ux·外观模式
智想天开2 个月前
14.外观模式:思考与解读
windows·microsoft·设计模式·外观模式
ErizJ2 个月前
Golang|外观模式和具体逻辑
开发语言·golang·外观模式
碎梦归途2 个月前
23种设计模式-结构型模式之外观模式(Java版本)
java·开发语言·jvm·设计模式·intellij-idea·外观模式
小马爱打代码2 个月前
设计模式:外观模式 - 简化复杂系统调用的利器
设计模式·外观模式
骊山道童2 个月前
设计模式-外观模式
设计模式·外观模式
程序员沉梦听雨2 个月前
外观模式详解
java·设计模式·外观模式