适配器模式 订阅
在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。 展开全文
在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
信息
基本信息
共有两类适配器模式
客    户
需要调用我们的代码的对象
中文名
适配器模式
宗    旨
保留现有类所提供的服务
适配器模式基本信息
共有两类适配器模式:对象适配器模式-- 在这种适配器模式中,适配器容纳一个它包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。类适配器模式-- 这种适配器模式下,适配器继承自已实现的类(一般多重继承)。 [1] 
收起全文
精华内容
下载资源
问答
  • 适配器模式

    2020-12-31 22:51:37
    适配器模式

    使用场景

         适配器模式主要用于复用一些现存的类,但是接口又与复用环境要求不一致的情况。

    适配器模式怎么理解?

        当有新接口或者新功能需求时,发现我们之前已经有接口或者类实现了这些功能,但我们不可能去改动新需求的接口或者类。这时可能有的人想,这不简单吗,直接复制粘贴好了,复制粘贴确实可以解决,但可能逻辑跟复杂,你去复制粘贴也不是那么简单,再者维护时需要同时维护这两个地方的逻辑。这时我们使用适配器模式就可以完美解决了

    示例

         我的电脑需要投屏到会议室,电脑接口只有HDMI,而会议室的投影接口只有VGA,咋办?这时就要一个适配器,把HDMI转为VGA接口

     //已经有的接口
     public class HDMI
     {
         public void BaseConnectDisplay() {
             Console.WriteLine("HDMI接口连接显示器成功...");
         }
     }
     
     //需要实现的接口
     public interface VGA
     {
         void RequireConnectDisplay();
     }
     
     //适配器
     public class InterfaceAdapter : HDMI, VGA
     {
         public void RequireConnectDisplay()
         {
             this.BaseConnectDisplay();
         }
     }
    

     实现

     static void Main(string[] args)
     {
         Console.WriteLine("准备投屏...");
         VGA vga = new InterfaceAdapter();
         vga.RequireConnectDisplay();
     }
    

    在这里插入图片描述
        上面适配器模式为类的适配器模式,下面再展示下对象的适配器模式,基本没区别。

     public class HDMI
     {
         public void BaseConnectDisplay() {
             Console.WriteLine("HDMI接口连接显示器成功...");
         }
     }
     
     public class VGA
     {
         public virtual void RequireConnectDisplay() { 
         
         }
     }
     
     //适配器
     public class InterfaceAdapter : VGA
     {
         HDMI hdmi = new HDMI();
         public override void RequireConnectDisplay()
         {
             hdmi.BaseConnectDisplay();
         }
     }
     
     //实现
     static void Main(string[] args)
     {
         Console.WriteLine("准备投屏...");
         VGA vga = new InterfaceAdapter();
         vga.RequireConnectDisplay();
     }
    

        到这里,适配器模式就介绍完了,看透其本质就是对已经代码的复用的一种模式。既然是对已有代码的复用,说明是适配器模式不可能用于一个不是复用代码的环境,千万不能为了用适配器模式而去用,这个模式一般用于,新接口与原接口业务完全一致且两个接口都不容易去修改时的情境下。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,488
精华内容 12,195
关键字:

适配器模式