Design patterns 适配器设计模式是否仅用于更改输入或更改输入和/或输出?

Design patterns 适配器设计模式是否仅用于更改输入或更改输入和/或输出?,design-patterns,Design Patterns,如果我是正确的,适配器设计模式会更改一个类或 函数具有不同的接口。这是否意味着 更改类或函数 仅接受不同类型的输入,或 接受不同类型的输入和/或提供不同类型的输出 我看到“wrapper”是用来描述一个改变 函数提供不同类型的输出 “包装器”是一种设计模式吗 包装器和适配器有什么区别 谢谢 适配器更改函数以接受不同的输入和/或返回不同的输出(即第二个项目符号)。是否需要一个或两个更改取决于adaptee接口与目标接口的距离。如果适配器已经接受了目标提供的参数,或者已经返回了目标接受的值,那么

如果我是正确的,适配器设计模式会更改一个类或 函数具有不同的接口。这是否意味着 更改类或函数

  • 仅接受不同类型的输入,或
  • 接受不同类型的输入和/或提供不同类型的输出
  • 我看到“wrapper”是用来描述一个改变 函数提供不同类型的输出

    “包装器”是一种设计模式吗

    包装器和适配器有什么区别

  • 谢谢

  • 适配器更改函数以接受不同的输入和/或返回不同的输出(即第二个项目符号)。是否需要一个或两个更改取决于adaptee接口与目标接口的距离。如果适配器已经接受了目标提供的参数,或者已经返回了目标接受的值,那么只有一半的等式需要调整

  • 包装器是一个通用术语,有时用来代替适配器,但要小心!包装器也是装饰器模式的同义词

  • 适配器更改函数以接受不同的输入和/或返回不同的输出(即第二个项目符号)。是否需要一个或两个更改取决于adaptee接口与目标接口的距离。如果适配器已经接受了目标提供的参数,或者已经返回了目标接受的值,那么只有一半的等式需要调整

  • 包装器是一个通用术语,有时用来代替适配器,但要小心!包装器也是装饰器模式的同义词


  • 适配器模式主要有三个参与者:适配器类、客户机代码、实际逻辑实现类

    适配器类实现客户端代码接受的接口。它由执行计算或处理逻辑的实际类的对象的实例组成。 为了进行处理,实际的逻辑处理器类需要一些特定IIFC格式的输入参数,并根据其实现输出结果

    客户机代码独立于这些输入输出格式,因为它不受任何方式的约束,无法与逻辑处理器类确认任何契约

    适配器调整逻辑处理器类,以便客户端代码可以使用其逻辑处理代码。适配器根据客户端的需要向接口确认自身。与实际逻辑处理器中定义的方法相比,此接口可能有不同的方法,与客户接受的接口声明的相应方法相比,每个方法可能有不同的输入编号或/和参数类型以及不同的返回类型。适配器将适应所有这些不同的方法、输入参数和输出返回类型,以便客户机代码可以使用逻辑处理器类


    其他答案中提到的包装器可能用于适配器,但我觉得不应该像装饰器包装一个对象以增强其行为一样,代理也包装其底层服务类以提供一个有系统的或更通用的代理(带有附加检查、替代或附加行为),然后适配器也包装了逻辑处理器类,以使其适应客户机代码可接受的接口。此外,适配器将主题包装在不同的接口中,而decorator和proxy将主题包装在相同的接口中。

    适配器模式基本上有三个角色:适配器类、客户端代码、实际逻辑实现类

    适配器类实现客户端代码接受的接口。它由执行计算或处理逻辑的实际类的对象的实例组成。 为了进行处理,实际的逻辑处理器类需要一些特定IIFC格式的输入参数,并根据其实现输出结果

    客户机代码独立于这些输入输出格式,因为它不受任何方式的约束,无法与逻辑处理器类确认任何契约

    适配器调整逻辑处理器类,以便客户端代码可以使用其逻辑处理代码。适配器根据客户端的需要向接口确认自身。与实际逻辑处理器中定义的方法相比,此接口可能有不同的方法,与客户接受的接口声明的相应方法相比,每个方法可能有不同的输入编号或/和参数类型以及不同的返回类型。适配器将适应所有这些不同的方法、输入参数和输出返回类型,以便客户机代码可以使用逻辑处理器类

    其他答案中提到的包装器可能用于适配器,但我觉得不应该像装饰器包装一个对象以增强其行为一样,代理也包装其底层服务类以提供一个有系统的或更通用的代理(带有附加检查、替代或附加行为),然后适配器也包装了逻辑处理器类,以使其适应客户机代码可接受的接口。此外,适配器将主题包装在不同的接口中,而decorator和proxy将主题包装在相同的接口中