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