Net设计模式实例之适配器模式(Adapter Pattern)

简介:

一、适配器模式简介(Brief Introduction

适配器模式,将一个类装换成客户期望的另外一个接口。 Adapter 模式使的原本由于接口不兼容而不能工作的那些类可以一起工作。

二、解决的问题(What To Solve

1 、使用第三方组件,而这个组件的接口与目前系统接口不兼容(如方法与系统方法不一致等),可以使用适配器模式解决接口不兼容问题。
2 、使用早前项目一些有用的类,可以用适配器模式解决现有接口与原有对象接口不兼容问题。

三、适配器模式分析(Analysis

1、适配器模式结构

 

 

 

 

 

 

 

 

 

 

 

 

 

2、源代码

1 、客户期待的接口或者抽象类 Target
public  abstract class Target
{
    public abstract void  Request();
}
 
2 、要适配的类 Adaptee ,也就是与期望调用接口不相符的类
public  class Adaptee
{
    public void  SepecificRequest()
     {
        Console .WriteLine(" 执行要适配类的特殊请求方法" );
     }
}
 
3 、适配器类 Adapter 把源接口转换成目标接口,包行变量 adaptee
public  class Adapter :Target
{
    private Adaptee  adaptee;
    public override void  Request()
     {
        if  (adaptee == nu ll )
         {
             adaptee = new Adaptee ();
         }
         adaptee.SepecificRequest();
     }
}
 
4 、客户端代码
static  void  Main (string [] args)
{
    Target  target = new Adapter ();
     target.Request();
    Console .Read();
}

3、程序运行结果

 

四、案例分析(Example

场景:系统调用第三方计算类库Calculator ,一开始调用的是带两个整型参数的Add 方法,后来计算类库中的Add 方法两个参数变为Float 类型,此时再使用就的调用方式需要更改客户代码,这是不好的解决办法,较好的解决办法是,使用适配器模式解决接口不一致问题。
Add 方法参数变更前的调用方式:
 
 
 
Add 方法参数类型变更后,增加适配器类 CaculatorAdapter,   解决了接口不一致问题。 如下图:
   

五、总结(Summary

适配器模式,将一个类装换成客户期望的另外一个接口。 Adapter 模式统一了不兼容对象的接口,使的原本由于接口不兼容而不能工作的那些类可以一起工作。









本文转自 灵动生活 51CTO博客,原文链接:http://blog.51cto.com/smartlife/265579,如需转载请自行联系原作者

目录
相关文章
|
12月前
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
610 26
|
12月前
|
设计模式 前端开发 Java
【设计模式】【结构型模式】适配器模式(Adpter)
一、入门 什么是适配器模式? 适配器模式是Java中常用的结构型设计模式,它的核心作用就像现实中的电源转换器一样---让原本不兼容的两个接口能够协同工作。 为什么要用适配器模式? 假设我们需要在电商系
293 10
|
设计模式 Java 开发者
「全网最细 + 实战源码案例」设计模式——适配器模式
适配器模式(Adapter Pattern)是一种结构型设计模式,通过引入适配器类将一个类的接口转换为客户端期望的另一个接口,使原本因接口不兼容而无法协作的类能够协同工作。适配器模式分为类适配器和对象适配器两种,前者通过多重继承实现,后者通过组合方式实现,更常用。该模式适用于遗留系统改造、接口转换和第三方库集成等场景,能提高代码复用性和灵活性,但也可能增加代码复杂性和性能开销。
600 28
|
设计模式 JSON 前端开发
前端必须掌握的设计模式——适配器模式
适配器模式是一种结构型设计模式,用于使接口不兼容的对象能够相互合作。通过在客户端和系统之间引入一个“中间层”适配器,将不同类型的输入数据转换为系统能处理的标准格式,减轻系统的负担,提高扩展性和可维护性。例如,MacBook的扩展坞将多种接口(如HDMI、USB)转换为Type-C接口,实现多接口兼容。
|
设计模式 Java 程序员
Java设计模式-适配器模式(8)
Java设计模式-适配器模式(8)
160 2
|
设计模式 Java
设计模式--适配器模式 Adapter Pattern
这篇文章介绍了适配器模式,包括其基本介绍、工作原理以及类适配器模式、对象适配器模式和接口适配器模式三种实现方式。
|
设计模式 XML 存储
【六】设计模式~~~结构型模式~~~适配器模式(Java)
文章详细介绍了适配器模式(Adapter Pattern),这是一种结构型设计模式,用于将一个类的接口转换成客户期望的另一个接口,使原本不兼容的接口能够一起工作,提高了类的复用性和系统的灵活性。通过对象适配器和类适配器两种实现方式,展示了适配器模式的代码应用,并讨论了其优点、缺点以及适用场景。
|
设计模式 Java
Java设计模式之适配器模式
这篇文章详细讲解了Java设计模式中的适配器模式,包括其应用场景、实现方式及代码示例。
289 0
|
设计模式 Go 数据处理
iLogtail设计模式问题之在iLogtail中,为何需要使用适配器模式
iLogtail设计模式问题之在iLogtail中,为何需要使用适配器模式
|
设计模式 JavaScript 前端开发
js设计模式【详解】—— 适配器模式
js设计模式【详解】—— 适配器模式
139 0