软考78-上午题-【面向对象技术3-设计模式】-结构型设计模式01

一、适配器模式

1-1、意图

个类的接口转换成客户希望的另外一个接口。

Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

1-2、结构

适配器模式分为:

1、适配器类模式;

2、适配器对象模式

类适配器使用多重继承对一个接口与另一个接口进行匹配:

java没有多重继承,所以,类适配器模式,不考。

对象适配器依赖于对象组合

  • Target 定义 Client 使用的与特定领域相关的接口;
  • Client 与符合 Target 接口的对象协同;
  • Adaptee 定义一个已经存在的接口,这个接口需要适配;(适配器)
  • Adapter 对 Adaptee 的接口与 Target 接口进行适配。

1-3、代码实现

客户端:

1-4、适用性

1、想使用一个已经存在的类,而它的接口不符合要求。

2、想创建一个可以服用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类) 协同工作。

3、(仅适用于对象 Adapter)想使用一个已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。

1-5、真题

真题1:

二、桥接模式

2-1、意图

将抽象部分与其实现部分分离,使它们都可以独立地变化。

2-2、结构

  • Abstraction 定义抽象类的接口,维护一个指向 Implementor 类型对象的指针;
  • RefinedAbstraction 扩充由 Abstraction 定义的接口。
  • Implementor 定义实现类的接口,该接口不一定要与 Abstraction 的接口完全一致;事实上这两个接口可以完全不同。一般来说,Implementor 接口仅提供基本操作,而Abstraction 定义了基于这些基本操作的较高层次的操作。
  • Concretelmplementor 实现 Implementor 接口并定义它的具体实现。

1-3、代码实现

 

1-4、适用性

1-5、真题

真题1:

真题2:45:A

Abstraction 定义抽象类的接口,维护一个指向 Implementor 类型对象的指针。

真题3:

 

​​​​​​​

最近更新

  1. 技术浅谈:如何入门一门编程语言

    2024-03-17 22:22:02       1 阅读
  2. C#如何进行深度学习对行人进行识别?

    2024-03-17 22:22:02       1 阅读
  3. 金南瓜科技的SECS/GEM解决方案

    2024-03-17 22:22:02       1 阅读
  4. Linux 系统监控工具深度解析:Glances 与 Nmon

    2024-03-17 22:22:02       1 阅读
  5. 使用YOLO5进行模型训练机器学习【教程篇】

    2024-03-17 22:22:02       1 阅读

热门阅读

  1. MySQL 中的自增ID及其应用场景

    2024-03-17 22:22:02       21 阅读
  2. C语言学习笔记day7

    2024-03-17 22:22:02       18 阅读
  3. 人工智能的发展与未来

    2024-03-17 22:22:02       24 阅读
  4. git |常用命令

    2024-03-17 22:22:02       20 阅读
  5. C++ 11:基于范围的 for 循环

    2024-03-17 22:22:02       22 阅读
  6. 服务器硬件基础知识

    2024-03-17 22:22:02       21 阅读
  7. 自动驾驶功能场景 逻辑场景 具体场景解释

    2024-03-17 22:22:02       23 阅读
  8. 安全架构设计

    2024-03-17 22:22:02       24 阅读
  9. Linux开发:设置文件或目录的S_ISVTX

    2024-03-17 22:22:02       23 阅读