适配器模式

定义

将对象的功能实现转变成提供者提供的功能结构。即保留现有类所提供的服务,向客户提供接口,实现不同接口之间的适配调用。

类图描述

代码示例

 1  /*
 2      * 使用情景:现有程序已经写好,或者是按程序设计时已经固定接口
 3      * 但是又需要与其他程序或者接口匹配,调用实现
 4      * 此时就需要用到设配器的模式---提供一个过渡转变方式调用实现
 5      *
 6      */ 
 7     public interface ITarget
 8     {
 9         void Show();
10     }
11 
12     public class Target : ITarget
13     {
14 
15         public void Show()
16         {
17             //TODO show
18             Console.WriteLine("Show");
19         }
20     }
21 
22     public class Adapter : ITarget
23     {
24         private IAdaptee adaptee = null;
25         public Adapter(IAdaptee adaptee)
26         {
27             this.adaptee=adaptee;
28         }
29         public void Show()
30         {
31             adaptee.Display();
32         }
33     }
34     #region 一般为第三方或者其他已经固定的程序
35     public interface IAdaptee
36     {
37         void Display();
38     }
39     public class Adaptee : IAdaptee
40     {
41         public void Display()
42         {
43             //TODO display
44             Console.WriteLine("Display");
45         }
46     }
47     #endregion
View Code

总结

适配器模式其实随处可见,实则是接口之间的调用。当然上面是常用的对象适配模式;如果是双向调用(例如是同一项目中的程序,而非第三方),那么我们可以使用类适配模式(一般不常用)

类适配模式的类图如下:

That's it...

Top
收藏
关注
评论
原文地址:https://www.cnblogs.com/Joy-et/p/4841982.html