摘要:(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; } } }