gpt4 book ai didi

具有不同接口(interface)的 C++ 适配器,其中接口(interface)可能具有不同类型/数量的输入参数

转载 作者:行者123 更新时间:2023-11-28 07:35:29 26 4
gpt4 key购买 nike

当被适配者的方法除了名称不同时,如何构建适配器是众所周知的。

例如,

http://sourcemaking.com/design_patterns/adapter/cpp/2

其中“doThis”、“doThat”和“doOther”都没有输入。但是,如果不同的方法有不同数量的输入参数呢?

谢谢

最佳答案

链接文档中给出的示例描述了在纯粹语法更改的情况下使用适配器模式。您的问题所暗示的情况包含语义变化,即适配器方法不提供与适配器接口(interface)“ promise ”正式交付的服务完全相同的服务。这意味着适应者必须以某种方式包装,而不仅仅是简单的名称更改:必须围绕它做一些工作来构建缺失的参数或将现有参数转换为适应者所需的参数。

如果每个新的适配者都有不同的要求,那么每个适配器都必须包含临时适配代码。要从这种情况中找出一个共同的模式,我们无能为力。唯一简单的情况是微不足道的情况,当所有需要的参数都独立于传递的参数时,并且可以在构造适配器之前计算一次,因此允许适配器作为简单的 std::bind 等效。

关于具有不同接口(interface)的 C++ 适配器,其中接口(interface)可能具有不同类型/数量的输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16848291/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com