博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式---适配器模式
阅读量:6674 次
发布时间:2019-06-25

本文共 1062 字,大约阅读时间需要 3 分钟。

前言

上一次谈设计模式,我谈到了装饰者模式,今天我要谈与之很相似的另一个结构型的设计模式:适配器模式。最后还会结合外观模式进行适当点评

UML类图

角色构成

  • Target,面向用户使用的接口定义
  • Adapter,适配器,将被适配接口转换为用户需要的Target接口
  • Adaptee,需要被适配的现有接口

代码

待适配对象

namespace Adapter{    public class Adaptee    {        public void AdapteeOperation()        {            Console.WriteLine("Adaptee Operation");        }    }}

用户接口

namespace Adapter{    public interface Target    {        void UserOperation();    }}

适配器

namespace Adapter{    public class Adapter : Target    {        private Adaptee _adaptee = new Adaptee();        public void UserOperation()        {            this._adaptee.AdapteeOperation();        }    }}

用户调用代码

namespace Adapter{    class Program    {        static void Main(string[] args)        {            Target target = new Adapter();            target.UserOperation();            Console.ReadKey();        }    }}

使用场景

可参见ADO.NET中的抽象DataAdapter以及具体的SqlDataAdapter、OracleDataAdapter的设计

结构型设计模式大比拼

  共同点 不同点
装饰者模式 对象包装 不改变接口,加入新的职责
适配器模式   不改变职责,改变接口
外观模式   简化高层接口,统一调用

 

转载于:https://www.cnblogs.com/fecktty2013/p/designpatterns-adapter.html

你可能感兴趣的文章
ruby 升级1.8.7到1.9.3
查看>>
linux网络配置命令(一)——ifconfig
查看>>
xcode10设置自定义代码快 - Xcode10新功能新内容
查看>>
【BZOJ】4559: [JLoi2016]成绩比较 计数DP+排列组合+拉格朗日插值
查看>>
【vijos】P1448 校门外的树
查看>>
【BZOJ】2440: [中山市选2011]完全平方数
查看>>
二十四种设计模式:原型模式(Prototype Pattern)
查看>>
小程序右侧边栏
查看>>
小白的Python 学习笔记(八)推导式详解
查看>>
解决sublimeText3无法安装插件有关问题 - There are no packages available for installation
查看>>
一篇文章帮你彻底搞清楚“I/O多路复用”和“异步I/O”的前世今生
查看>>
Xamarin.android 重写axml控件
查看>>
XML 扩展部分
查看>>
Tinyos Makerules解读
查看>>
安装VS2010 SP1时遇到WCF RIA Service 版本错误
查看>>
UI--普通控件总结1--控件使用
查看>>
【外文翻译】使用Timer类去调度任务 ——java
查看>>
关于CountDownLatch控制线程的执行顺序
查看>>
plsql 乱码 注册表 修改文件
查看>>
Docker集群管理(三)—— docker swarm mode基础教程
查看>>