您的位置:首页 > 编程语言 > C#

201802191230->深入浅出设计模式:c#代理模式

2018-02-19 12:28 411 查看
using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace _011代理模式

{

    public abstract class Person

    {

        public abstract void BuyCurrent();

    }

    public class RealBuyFriend : Person

    {

        public override void BuyCurrent()

        {

            Console.WriteLine("已经把该买的东西买勒...");

        }

    }

    public class Friend : Person

    {

        public RealBuyFriend mRealBuyFriend;

        public override void BuyCurrent()

        {

            if (mRealBuyFriend == null)

            {

                mRealBuyFriend = new RealBuyFriend();

            }

            mRealBuyFriend.BuyCurrent();

        }

    }

    internal class Program

    {

        private static void Main(string[] args)

        {

            Person friend = new Friend();

            friend.BuyCurrent();

            /*

             *

             * 代理模式

             *

             * 子类实现基类的虚方法

             *

             * 子类之间相互持有引用,通过虚方法的相互调用达到代理模式的目的

             *

             */

            Console.ReadKey();

        }

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# 心得 理解 笔记