标签:
将对象的功能实现转变成提供者提供的功能结构。即保留现有类所提供的服务,向客户提供接口,实现不同接口之间的适配调用。
/* * 使用情景:现有程序已经写好,或者是按程序设计时已经固定接口 * 但是又需要与其他程序或者接口匹配,调用实现 * 此时就需要用到设配器的模式---提供一个过渡转变方式调用实现 * */ public interface ITarget { void Show(); } public class Target : ITarget { public void Show() { //TODO show Console.WriteLine("Show"); } } public class Adapter : ITarget { private IAdaptee adaptee = null; public Adapter(IAdaptee adaptee) { this.adaptee=adaptee; } public void Show() { adaptee.Display(); } } #region 一般为第三方或者其他已经固定的程序 public interface IAdaptee { void Display(); } public class Adaptee : IAdaptee { public void Display() { //TODO display Console.WriteLine("Display"); } } #endregion
适配器模式其实随处可见,实则是接口之间的调用。当然上面是常用的对象适配模式;如果是双向调用(例如是同一项目中的程序,而非第三方),那么我们可以使用类适配模式(一般不常用)
类适配模式的类图如下:
That‘s it...
标签:
原文地址:http://www.cnblogs.com/Joy-et/p/4841982.html