• C# 设计模式-代理模式


    一.介绍  

      代理模式(Proxy Pattern)。属于结构型模式。为其它对象提供一种代理以控制对该对象的访问。

    二.实现

      代理的概念很简单,就是想调用A类方法时,不直接调用,而是通过调用代理B类的方法,由B类方法去调用A类的方法。

    /// <summary>
    /// 抽象主题角色
    /// </summary>
    public interface IPeople
    {
        void Say();
    }
    
    /// <summary>
    /// 真实主题角色
    /// </summary>
    public class APeople : IPeople
    {
        public void Say()
        {
            Console.WriteLine("今天xxx");
        }
    }
    
    /// <summary>
    /// 代理
    /// </summary>
    public class Proxy : IPeople
    {
        IPeople aPeople;
    
        public Proxy()
        {
            this.aPeople = new APeople() ;
        }
    
        public void Say()
        {
            Console.WriteLine("A说了:");
            aPeople.Say();
        }
    }
    
    //调用
    public static void Main(string[] args)
    {
        IPeople proxy = new Proxy();
        proxy.Say();
    }

    三.总结

      优点:

      1.代理模式能够将调用用于真正被调用的对象隔离,在一定程度上降低了系统的耦合度。

      2.代理对象在客户端和目标对象之间起到了一个中介的作用,这样可以起到对目标对象的保护。代理对象可以在对目标对象发起请求之前进行额外操作,比如权限检查。

      缺点:

      1.由于在客户端和目标对象之间增加了一个代理对象,会造成请求处理的速度变慢。

      2.实现代理类会增加额外的代码量,从而增加系统的复杂程度。

  • 相关阅读:
    多层交换概述
    多层交换MLS笔记2
    多层交换MLS笔记1
    RSTP Proposal-Agreement
    RSTP Note
    保护STP
    优化STP
    Cisco STP Note
    25、C++的顶层const和底层const
    43、如何用代码判断大小端存储
  • 原文地址:https://www.cnblogs.com/shadoll/p/14289637.html
Copyright © 2020-2023  润新知