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

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

相关推荐
hxj..2 小时前
【设计模式】外观模式
java·设计模式·外观模式
程序员小海绵【vincewm】16 小时前
【设计模式】结合Tomcat源码,分析外观模式/门面模式的特性和应用场景
设计模式·tomcat·源码·外观模式·1024程序员节·门面模式
无敌岩雀8 天前
C++设计模式结构型模式———外观模式
c++·设计模式·外观模式
morning_judger11 天前
【设计模式系列】外观模式(十四)
java·设计模式·外观模式
zzzhpzhpzzz12 天前
设计模式——外观模式
设计模式·外观模式
Mr. zhihao12 天前
外观模式及运用场景
java·外观模式
小白13 天前
C# 结构型设计模式----外观模式
设计模式·外观模式
XYX的Blog14 天前
设计模式07-结构型模式(装饰模式/外观模式/代理模式/Java)
设计模式·代理模式·外观模式
且随疾风前行.21 天前
技术成神之路:设计模式(二十一)外观模式
设计模式·外观模式·1024程序员节
伯牙碎琴25 天前
十、结构型(外观模式)
外观模式