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

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

相关推荐
hope_wisdom1 天前
实战设计模式之外观模式
设计模式·架构·软件工程·软件构建·外观模式·架构设计
熊出没2 天前
解锁外观模式:Java 编程中的优雅架构之道
java·架构·外观模式
好好学习++3 天前
【HF设计模式】07-适配器模式 & 外观模式
java·c++·设计模式·适配器模式·外观模式
找了一圈尾巴3 天前
设计模式-代理模式、外观模式
设计模式·代理模式·外观模式
鎈卟誃筅甡6 天前
JavaScript设计模式 -- 外观模式
外观模式
游客5208 天前
设计模式-结构型-外观模式
开发语言·python·设计模式·外观模式
管大虾8 天前
设计模式-外观模式
设计模式·外观模式
小小工匠21 天前
Spring Boot + Facade Pattern : 通过统一接口简化多模块业务
spring boot·外观模式
晚秋贰拾伍1 个月前
设计模式的艺术-外观模式
服务器·设计模式·外观模式
计算机小混子1 个月前
C++实现设计模式---外观模式 (Facade)
c++·设计模式·外观模式