c# 代理模式

//普通的Math类
public class Math
{
    public int Add(int a ,int b)
    {
        return a + b;
    }

    public int Sub(int a,int b)
    {
        return a - b;
    }
}

//代理模式Math类
public class ClassProxy
{
    Math math = new Math();


    int Add(int a, int b)
    {
        return math.Add(a,b);
    }

    int Sub(int a, int b)
    {
        return math.Sub(a,b);
    }
}

//接口实现代理模式,强制实现所有方法,避免遗漏
public interface IMath
{
    int Add(int a, int b);
    int Sub(int a, int b);
}
public class MathProxy : IMath
{
    public int Add(int a, int b)
    {
        return a + b;
    }

    public int Sub(int a, int b)
    {
        return a - b;
    }
}

public class Math2 : IMath
{
    public int Add(int a, int b)
    {
        return a + b;
    }

    public int Sub(int a, int b)
    {
        return a - b;
    }
}



猜你喜欢

转载自blog.csdn.net/roadlun/article/details/80446980
今日推荐