iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >使用Adapter模式时需要考虑哪些因素
  • 176
分享到

使用Adapter模式时需要考虑哪些因素

2023-06-19 11:06:50 176人浏览 泡泡鱼
摘要

这篇文章主要介绍“使用Adapter模式时需要考虑哪些因素”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“使用Adapter模式时需要考虑哪些因素”文章能帮助大家解决问题。效果类适配器和对象适配器有不

这篇文章主要介绍“使用Adapter模式时需要考虑哪些因素”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“使用Adapter模式时需要考虑哪些因素”文章能帮助大家解决问题。

效果


类适配器和对象适配器有不同的权衡。类适配器
• 用一个具体的Adapter类对Adaptee和Target进行匹配。结果是当我们想要匹配一个类以及所有它的子类时,类Adapter将不能胜任工作。

这是类适配器的缺点。


• 使得Adapter可以重定义Adaptee的部分行为,因为Adapter是Adaptee的一个子类。

作为派生类,可以很简单地修改基类的行为并直接被Adapter适用。


• 仅仅引入了一个对象,并不需要额外的指针以间接得到adaptee。

比对象适配器少占一个指针变量的空间,并且不需要另外建立Adapter和Adaptee之间的关系。


对象适配器则
• 允许一个Adapter与多个Adaptee—即Adaptee本身以及它的所有子类(如果有子类的话)—同时工作。Adapter也可以一次给所有的Adaptee添加功能。

这是很方便的!


• 使得重定义Adaptee的行为比较困难。这就需要生成 Adaptee的子类并且使得Adapter引用这个子类而不是引用Adaptee本身。

需要替换Adapter引用的Adaptee对象。

相比较而言,对象适配器多用一个指针变量,多一些程序性的操作获得了更大的灵活性。作者推荐对象适配器。


使用Adapter模式时需要考虑的其他一些因素有:
1) Adapter的匹配程度

对Adaptee的接口与Target的接口进行匹配的工作量各个Adapter可能不一样。工作范围可能是,从简单的接口转换(例如改变操作名 )到支持完全不同的操作集合。Adapter的工作量取决于Target接口与Adaptee接口的相似程度。

道理很简单:差别越多,适配的工作量也就越大。


2) 可插入的Adapter 

当其他的类使用一个类时,如果所需的假定条件越少,这个类就更具可复用性。如果将接口匹配构建为一个类,就不需要假定对其他的类可见的是一个相同的接口。也就是说,接口匹配使得我们可以将自己的类加入到一些现有的系统中去,而这些系统对这个类的接口可能会有所不同。Object-Work / Smalltalk [ P a r 9 0 ]使用pluggable adapter一词描述那些具有内部接口适配的类。

这段话不大好理解,作者努力解说一下。当我们设计一个类时,一般都存在一些假设。例如内存可以随意适用,不需要多任务安全等。这样的假设越少,类可以适用的场景就越多,也就是说更具可复用性。众多假设中有一个就是类的用法,也就是接口。使用适配器意味着类可以任何方式适用。


考虑TreeDisplay窗口组件,它可以图形化显示树状结构。如果这是一个具有特殊用途的窗口组件,仅在一个应用中使用,我们可能要求它所显示的对象有一个特殊的接口,即它们都是抽象类Tree的子类。如果我们希望使TreeDisplay有具有良好的复用性的话(比如说,我们希望将它作为可用窗口组件工具箱的一部分),那么这种要求将是不合理的。应用程序将自己定义树结构类,而不应一定要使用我们的抽象类Tree。不同的树结构会有不同的接口

一般来讲,TreeDisplay组件需要和某种Tree类协同工作。如果这个TreeDisplay只是在一个应用中使用,那么我们可以完全可以将需要TreeDisplay表示的数据设计成Tree的子类。但是如果希望TreeDisplay可以在各种场合,各种应用中使用时,就不应该有这个要求。因为对于已有类,这意味着类结构的巨大变化;对于新设计的类,为了一个表示功能,改变类本来的继承关系也有些过分了。


例如,在一个目录层次结构中,可以通过GetSubdirectories操作进行访问子目录,然而在一个继承式层次结构中,相应的操作可能被称为GetSubclasses。尽管这两种层次结构使用的接口不同,一个可复用的TreeDisplay窗口组件必须能显示所有这两种结构。也就是说,TreeDisplay应具有接口适配的功能。

如果从取得下一级要素的角度来看,GetSubdirectories和GetSubclasses做的是相同的事。我们的设计的TreeDisplay需要满足上述两种要求。这属于主动适配的范畴。

3) 使用双向适配器提供透明操作 使用适配器的一个潜在问题是,它们不对所有的客户都透明。被适配的对象不再兼容Adaptee的接口,因此并不是所有Adaptee对象可以被使用的地方它都可以被使用。双向适配器提供了这样的透明性。在两个不同的客户需要用不同的方式查看同一个对象时,双向适配器尤其有用。

一般来讲,适配器考虑的是让Adaptee的功能在Adapter的上下文中被使用。在Adaptee的利用者看来,Adapter要么不可见(对象适配器),要么不一定好用(类适配器)。当我们需要从两个方向都有需要使用某功能时,就需要双向适配器。

考虑一个双向适配器,它将图形编辑框架 Unidraw [VL90]与约束求解工具箱QOCA[ H H M V 9 2 ]集成起来。这两个系统都有一些类,这些类显式地表示变量: Unidraw含有类StateVariable,QOCA中含有类ConstraintVariable,如下图所示。为了使Unidraw与QOCA协同工作,必须首先使类ConstraintVariable与类StateVariable相匹配;而为了将QOCA的求解结果传递给Unidraw,必须使StateVariable与ConstraintVariable相匹配。

双向适配器在两个方向都有效。

这一方案中包含了一个双向适配器ConstraintStateVariable,它是类ConstraintVariable与类StateVariable共同的子类,ConstraintStateVariable使得两个接口互相匹配。在该例中多重继承是一个可行的解决方案,因为被适配类的接口差异较大。双向适配器与这两个被匹配的类都兼容,在这两个系统中它都可以工作。

本例中使用的是类适配器,ConstraintStateVariable即是ConstraintVariable又是StateVariable;其实也应该可以是使用对象适配器,这时ConstraintVariable和StateVariable共通分享一个ConstraintStateVariable。

关于“使用Adapter模式时需要考虑哪些因素”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 使用Adapter模式时需要考虑哪些因素

本文链接: https://www.lsjlt.com/news/295689.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用Adapter模式时需要考虑哪些因素
    这篇文章主要介绍“使用Adapter模式时需要考虑哪些因素”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“使用Adapter模式时需要考虑哪些因素”文章能帮助大家解决问题。效果类适配器和对象适配器有不...
    99+
    2023-06-19
  • 租用游戏服务器时需要考虑哪些因素
    租用游戏服务器时需要考虑的因素有:1、考虑机房所在的地理位置,选择距离用户近的服务器,以保证网站的访问速度;2、考虑机房的线路,看主要用户的访问所在地,选择合适的服务器线路;3、考虑服务器的配置,看游戏站规模大小和访问量,按实际情况选择服务...
    99+
    2022-10-18
  • 租用香港服务器时有哪些因素需要考虑
    租用香港服务器时需要考虑的因素有:1、租用香港服务器的质量如何;2、租用香港服务器的价格合不合理;3、香港服务器机房的售后服务可不可靠。具体内容如下:质量产品的质量本质上就是它的优点或“劣质”。您可以通过问自己以下问题来确定质量:这款香港服...
    99+
    2022-10-04
  • 租用服务器时要考虑哪些因素
    租用服务器时要考虑的因素有:1、考虑服务器的稳定性,根据自己的经营规模对服务器的稳定性进行测试;2、考虑公司的成本费用,按实际情况选择性价比高的服务器;3、考虑服务器的硬件配置,按网站的需求选择合适的硬件配置,以保证网站能正常运行。具体内容...
    99+
    2022-10-05
  • 租用游戏服务器需要考虑哪些因素
    租用游戏服务器需要考虑的因素有:1、考虑机房所在的地理位置和服务器的延迟问题,,以保证服务器的访问速度;2、考虑机房的线路选择,按用户主要访问来源选择合适的服务器线路;3、考虑服务器的配置选择,根据游戏站规模大小和访问量选择合适的服务器配置...
    99+
    2022-10-15
  • 美国服务器租用需要考虑哪些因素
    美国服务器租用需要考虑的因素有:1、线路,美国和大陆是通过海底光纤进行连接的,美国机房会采取多条线路与大陆网络骨干点相连,要选择合适的线路;2、硬件质量,要保证美国服务器所采用的是品牌配置,以免因硬件问题导致服务器宕机;3、防火墙防御系统,...
    99+
    2022-10-15
  • 选择服务器时要考虑哪些因素
    选择服务器时要考虑的因素有:1、考虑稳定性,服务器的稳定性能保证用户的访问体验;2、考虑开放性,服务器的开放性提高用户浏览网站的速度;3、考虑安全性,服务器的安全性能保证网站数据的安全;4、考虑性能与性价比,服务器的性能与性价比能满足自身的...
    99+
    2022-10-16
  • 购买云服务器需要考虑哪些因素
    购买云服务器时可以从以下几个方面来考虑产品方面考察所选云服务器的性价比如何,灵活度、存储和安全性。如CPU、内存、硬盘、带宽、线路、操作系统等各项参数是否符合选购标准。好的云服务器应适合大量数据的分布运算,分布式存储,多份数据能同步备份,可...
    99+
    2022-10-09
  • 使用Map时需要考虑的有哪些
    本篇内容主要讲解“使用Map时需要考虑的有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“使用Map时需要考虑的有哪些”吧!首先,在使用Map前,我们先考虑第一个问题,为什么要使用Map这种数...
    99+
    2023-06-16
  • 选择网站空间商需要考虑哪些因素
    选择网站空间商需要考虑以下因素:1. 价格:不同的网站空间商提供不同的价格,需要根据自己的预算选择合适的。2. 可靠性:选择一个可靠...
    99+
    2023-06-08
    网站空间商 空间
  • 网站空间商选择需要考虑哪些因素
    1. 价格:选择一个价格合理的网站空间商,能够帮助您在有限的预算内获得最佳的服务。2. 可靠性:关键是选择一个可靠的网站空间商,确保...
    99+
    2023-06-14
    网站空间商
  • 服务器租用要考虑哪些因素
    服务器租用要考虑的因素有:1、考虑IDC服务器租用商的机房条件,如要单线还是多线BGP网络、温度湿度、供电环境、网络环境、防护设施等进行综合考察;2、考虑服务器租用的价格,按自身需求选择性价比高的服务器租用;3、考虑服务器租用产品的性能,如...
    99+
    2022-10-13
  • 租用高防服务器需要考虑哪些机房因素
    租用高防服务器需要考虑的机房因素:1.IDC机房的内部环境,硬件防火墙。2.IDC机房的外部环境,运营商的管理是否到位,网络资源是否丰富等。3.IDC机房的线路应符合公司需求,解决用户访问慢的问题,提高用户体验。具体内容如下:一、IDC机房...
    99+
    2022-10-10
  • 山西高防服务器租用需要考虑哪些因素
    租用山西高防服务器需要考虑的因素:1. 租用山西高防服务器需要考虑黑客的攻击水平。2. 租用山西高防服务器需要服务器的带宽水平。3. 租用山西高防服务器需要防御的类别级别。具体内容如下:目前数据流量攻击分为DDOS攻击和...
    99+
    2022-10-22
  • 高防服务器租用需要考虑哪些机房因素
    高防服务器租用需要考虑的机房因素:1.高防服务器租用的环境优劣。2.高防服务器租用的售后技术水平高低。3.高防服务器租用线路类型具体内容如下:高防服务器租用的环境不同,有的提供有硬防,有的不带硬防,硬防即硬件防火墙,是指把防火墙程序做到芯片...
    99+
    2022-10-20
  • 租用游戏服务器需要考虑的因素有哪些
    租用游戏服务器需要考虑的因素有:1、网络带宽,网络带宽分为共享网络带宽和专用网络带宽,根据自身预算成本选择合适的网络带宽;2、服务器...
    99+
    2023-02-08
    租用游戏服务器 游戏服务器 服务器
  • 好用的API代理IP选择需要考虑哪些因素
    这篇文章主要讲解了“好用的API代理IP选择需要考虑哪些因素”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“好用的API代理IP选择需要考虑哪些因素”吧!1、看代理ip的数量,说到底,代理ip...
    99+
    2023-06-25
  • 租用日本云服务器时要考虑哪些因素
    租用日本云服务器时要考虑的因素:1、需要注意日本云服务器的IDC服务商是否具备IDC、ICP、ISP证件;2、需要查看日本云服务器供应商是否提供24*7小时在线技术支持,及时帮助用户解决服务器故障问题;3、需要了解清楚日本云服务器的市场价格...
    99+
    2022-10-23
  • 选择一款美国主机需要考虑哪些因素
    选择一款美国主机需要考虑的因素:1、美国主机机房所处位置,距离用户群里越近,访问速度越快;2、需要考虑美国主机的服务器系统、软件与性能,给予用户良好的体验感;3、需要考虑美国主机的骨干网络情况,保障主机能够提供一个安全稳定的网络环境;4、需...
    99+
    2022-10-21
  • 租用虚拟主机要考虑哪些因素
    1. 空间和带宽:选择适合自己的空间和带宽,确定自己的网站大小和流量需求。2. 稳定性:虚拟主机的稳定性是很重要的,需要选择稳定可靠...
    99+
    2023-06-05
    租用虚拟主机 虚拟主机
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作