码迷,mamicode.com
首页 > 其他好文 > 详细

代理模式(Proxy)

时间:2014-05-10 05:15:33      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   ext   

参考资料《大话设计模式》

bubuko.com,布布扣
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ds_proxy
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                GiveGift daili = new Proxy();
                daili.GiveDolls();
                daili.GiveFollow();
                daili.GiveChocolate();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }

    interface GiveGift
    {
        void GiveDolls();
        void GiveFollow();
        void GiveChocolate();
    }
    /// <summary>
    /// 代理可以控制客户对实体类的访问
    /// </summary>
    class Proxy : GiveGift
    {    
        Pursuit gg=new Pursuit();
        public void GiveDolls()
        {
            gg.GiveDolls();
        }
        public void GiveFollow()
        {
            gg.GiveFollow();
        }
        public void GiveChocolate()
        {
            Console.WriteLine("代理:不能访问实体类的GiveChocolate()");
            //gg.GiveChocolate();
        }
    }

    /// <summary>
    /// 实体类
    /// </summary>
    class Pursuit : GiveGift
    {
        public void GiveDolls()
        {
            Console.WriteLine("mm.Name + :送你洋娃娃!");
        }
        public void GiveFollow()
        {
            Console.WriteLine("mm.Name + :送你鲜花!");
        }
        public void GiveChocolate()
        {
            Console.WriteLine("mm.Name + :送你巧克力!");
        }
    }

}
bubuko.com,布布扣
1.实体类,代理类实现同一个接口,客户类访问代理类,代理类实现实体类的全部或部分功能;
2.代理类可以控制客户对实体类的访问权限。

代理模式(Proxy),布布扣,bubuko.com

代理模式(Proxy)

标签:style   blog   class   code   java   ext   

原文地址:http://www.cnblogs.com/nju347/p/3719587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!