当前位置: 首页 > news >正文

Java(7.11 设计模式学习)

1.模板方法

模板方法适合访问细节不同但是过程相同的方法:

A错误:外观模式用于为子系统中的一组接口提供一个一致的界面,简化系统的使用,不适合处理具有相同流程的场景。

B错误:装饰模式用于动态地给一个对象添加一些额外的职责,不适合处理不同数据库访问的场景。

C错误:单例模式确保一个类只有一个实例,并提供一个全局访问点,与数据库访问流程的抽象无关。

模板方法模式的优点在于:
1. 封装不变部分,扩展可变部分
2. 提取公共代码,便于维护
3. 行为由父类控制,子类实现
这完全符合题目要求的场景。

2.单例模式

 

 为什么单例模式(C选项)是正确答案:
1. 唯一性保证:单例模式确保一个人只能拥有唯一的身份证号码
2. 全局访问:提供统一的号码管理和查询入口
3. 状态共享:可以维护全局的身份证号码信息
4. 身份证补办场景:即使补办也是使用原号码,符合单例"始终是同一个实例"的特点

分析其他选项:
A. 命令模式错误:命令模式主要用于将请求封装成对象,用于分离请求发送者和接收者,与身份证号码的唯一性管理无关

B. 桥接模式错误:桥接模式用于将抽象部分与实现部分分离,使它们都可以独立变化,不适合处理身份证号码的唯一性需求

D. 责任链模式错误:责任链模式用于处理请求的传递和处理过程,虽然可以用于身份证办理的审批流程,但无法保证号码的唯一性

3.抽象工厂

抽象工厂模式是最适合用来强调一系列相关产品接口的设计模式。它提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

这个模式的核心优势在于:


1. 能够确保一系列相关产品的兼容性


2. 支持产品族的变化,同时保持产品之间的一致性


3. 将产品的创建与使用完全分离

 

4. 代理模式

代理模式是一种结构型设计模式,其主要特点是通过代理类来控制对实际对象的访问。根据这一特性,可以分析各选项:

C、D是正确选项:
- C选项防火墙就是一个典型的代理模式应用。防火墙作为一个代理,负责控制和过滤对网络资源的访问,起到保护作用。
- D选项CopyOnWriteList使用代理模式实现写时复制的机制。它在进行写操作时,会先复制一个新集合,修改完成后再替换原有引用,这个过程就是通过代理来控制对实际列表的访问。

分析错误选项:
- A选项"树形结构的遍历"属于组合模式的应用场景。组合模式用于处理树形结构,使得用户可以统一处理单个对象和组合对象。
- B选项"产品簇创建场景"属于抽象工厂模式的应用场景。抽象工厂模式用于创建一系列相关或相互依赖的对象,而不需要指定它们的具体类。 

http://www.dtcms.com/a/275028.html

相关文章:

  • PLC框架-1.3- 汇川PN伺服(3号报文)
  • 多种人脸处理方案——人脸裁剪
  • Webview 中可用的 VS Code 方法
  • G1 垃圾回收算法详解
  • 【TCP/IP】16. 简单网络管理协议
  • 天晟科技携手万表平台,共同推动RWA项目发展
  • 从「小公司人事」到「HRBP」:选对工具,比转岗更能解决成长焦虑
  • Java大厂面试故事:谢飞机的互联网音视频场景技术面试全纪录(Spring Boot、MyBatis、Kafka、Redis、AI等)
  • kubernetes单机部署踩坑笔记
  • DIDCTF-蓝帽杯
  • 谷歌云代理商:谷歌云TPU/GPU如何加速您的AI模型训练和推理
  • 【数据结构与算法】206.反转链表(LeetCode)
  • C++:非类型模板参数,模板特化以及模板的分离编译
  • 实现将文本数据(input_text)转换为input_embeddings的操作
  • 《从依赖纠缠到接口协作:ASP.NET Core注入式开发指南》
  • Vue 表单开发优化实践:如何优雅地合并 `data()` 与 `resetForm()` 中的重复对象
  • Sigma-Aldrich 细胞培养实验方案 | 通过Hoechst DNA染色检测细胞的支原体污染
  • 拔高原理篇
  • 奇哥面试记:SpringBoot整合RabbitMQ与高级特性,一不小心吊打面试官
  • java底层的native和沙箱安全机制
  • Lecture #19 : Multi-Version Concurrency Control
  • 深入理解JVM的垃圾收集(GC)机制
  • Next知识框架、SSR、SSG和ISR知识框架梳理
  • c++——运算符的重载
  • 鸿蒙开发之ArkTS常量与变量的命名规则
  • 面向对象编程
  • [面试] 手写题-选择排序
  • 持有对象-泛型和类型安全的容器
  • 深度学习中的归一化技术详解:BN、LN、IN、GN
  • Kubernetes 高级调度特性