首页 > 代码库 > 设计模式之代理模式
设计模式之代理模式
理解如下:
- 客户端不能直接调用具体的业务类时可以使用代理类.
- 代理类和业务类重同一接口继承下来.
- 代理类调用业务类,客户端调用代理类.
接口代码:
/// <summary> /// 定义客户端调用的目标对象的接口 /// </summary> public interface IPlayMusic { string PlayMusic(string musicType); }
业务类代码:
public class PlaySubject:IPlayMusic { private static readonly PlaySubject instance = new PlaySubject(); private PlaySubject() { } public static IPlayMusic PlaySuject { get { return instance; } } #region IPlayMusic 成员 public string PlayMusic(string musicType) { if (musicType == "mp3") { return "mp3"; } else { return "other"; } } #endregion }
代理类代码:
public class PlayMusicProxy:IPlayMusic { #region IPlayMusic 成员 public string PlayMusic(string musicType) { return PlaySubject.PlaySuject.PlayMusic(musicType); } #endregion }
客户段代码:
PlayMusicProxy proxy = new PlayMusicProxy(); string str; str = proxy.PlayMusic("mp3"); Response.Write(str);
问题:
看来看去好象作用不大,好处是什么?代理类封装了业务逻辑,简化了客户端代码?
设计模式之代理模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。