c#设计模式-结构型模式-5.外观模式

外观模式:定义一个高层接口,为子系统提供一个一致的界面

其实就是客户端调用最上层的接口,其他类均在这个接口里通过组合方式使用
c#设计模式-结构型模式-5.外观模式_第1张图片
例子,比如我们购买商品,需要一些验证:

1、身份验证安全,没有认证是无效用户。

2、系统安全,检查系统环境,防止注入、跨站和伪造等攻击

3、网银安全,检查付款地址的有效性,检查网关是否正常

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 外观模式
{
     
    public sealed class AuthoriationSystemA
    {
     
        public void MethodA()
        {
     
            Console.WriteLine("执行身份认证");
        }
    }

    public sealed class SecuritySystemB
    {
     
        public void MethodB()
        {
     
            Console.WriteLine("执行系统安全检查");
        }
    }

    public sealed class NetBankSystemC
    {
     
        public void MethodC()
        {
     
            Console.WriteLine("执行网银安全检测");
        }
    }

    public class SystemFacade
    {
     
        private AuthoriationSystemA auth;
        private SecuritySystemB security;
        private NetBankSystemC netBank;
        public SystemFacade()
        {
     
            auth = new AuthoriationSystemA();
            security = new SecuritySystemB();
            netBank = new NetBankSystemC();
        }
        public void Buy()
        {
     
            auth.MethodA();
            security.MethodB();
            netBank.MethodC();
            Console.WriteLine("购买成功");
        }
    }

    class Program
    {
     
        static void Main(string[] args)
        {
     
            SystemFacade systemFacade = new SystemFacade();
            systemFacade.Buy();
        }
    }
}

你可能感兴趣的:(设计模式,设计模式)