摘要:(200-07-16) C#.NET 代理模式 Proxy Pattern
使用方式:一般使用在 Method 的穿插稽核 不去修改去執行的類別 額是新增一個poxry 去管理cspattern.rar
Proxy
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace cspattern
{
//代理類別
public class HelloProxy:IHello
{
//Data Field
private IHello _hello;
public IHello Hello
{
set { _hello = value; }
}
#region IHello 成員
public string Message
{
set {
this._hello.Message = value;
}
}
#endregion
#region IHello 成員
public string getHello()
{
//設定稽核程序
System.Console.WriteLine("稽核!!");
return this._hello.getHello();
}
#endregion
}
}類別
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace cspattern
{
public class TWHello : cspattern.IHello
{
//Data Field
private String _message;
public String Message
{
set
{
_message = value;
}
}
//講英文打招呼功能
public String getHello()
{
return _message + " 世界和平!!";
}
//屬性
}
}主程式
//寫死型別
TWHello tw = new TWHello();
tw.Message = "eric";
MessageBox.Show(tw.getHello());
//建立代理
IHello proxy = new HelloProxy();
((HelloProxy)proxy).Hello = tw;
MessageBox.Show(proxy.getHello());介面
using System;
namespace cspattern
{
public interface IHello
{
string getHello();
string Message { set; }
}
}