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

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

其实就是客户端调用最上层的接口,其他类均在这个接口里通过组合方式使用
在这里插入图片描述
例子,比如我们购买商品,需要一些验证:

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();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值