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

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.xdnf.cn/news/15092.html

相关文章:

  • python的社区残障人士服务系统
  • Grok 4全面解析:马斯克的多智能体AI如何颠覆技术边界
  • 格式规范公文处理助手:一键排版 标题 / 正文 / 页码一键调,Word 脚本自定义
  • 嵌入式学习笔记--MCU阶段--day03中断
  • 网安系列【16】之Weblogic和jboss漏洞
  • 二层环路避免-STP技术
  • Transformer架构:结构介绍
  • STM32F103C8T6单片机内部执行原理及启动流程详解
  • 使用Tensorflow和CNN进行猫狗图片训练的实战总结
  • 【CF】⭐Day96——2025武汉ICPC(AILF)
  • MyBatis插件机制揭秘:从拦截器开发到分页插件实战
  • 深度学习_全连接神经网络
  • 单片机基础(STM32-DAY2(GPIO))
  • 如何发现 Redis 中的 BigKey?
  • 【计算机网络】HTTP1.0 HTTP1.1 HTTP2.0 QUIC HTTP3 究极总结
  • STM32 中实现 Modbus RTU
  • OneCode AI注解框架:让传统软件15分钟升级为AI原生应用
  • 从零开始搭建深度学习大厦系列-3.卷积神经网络基础(5-9)
  • 【Note】Linux Kernel 实时技术深入:详解 PREEMPT_RT 与 Xenomai
  • python+django/flask基于微信小程序的农产品管理与销售APP系统
  • 数据仓库:企业数据管理的核心枢纽
  • 20250710解决KickPi的K7的SDK编译异常:rk3576-android14.0-25250704.tar.gz【降低BUILD_JOBS】
  • OrCAD 24.1补丁005中文界面切换指南
  • RT-Thread 的 SCons 构建系统的语法、常用用法,并举例说明如何编写典型的 `Kconfig` 和 `SConscript` 文件
  • 解析几何几百年重大错误:将无穷多各异圆盘(球)误为同一点集
  • PyTorch Tensor 的创建与操作入门
  • TCP-与-UDP-协议详解:原理、区别与应用场景全解析
  • 使用SpringAOP自定义权限控制注解
  • UE5 Rotate 3 Axis In One Material
  • Android Studio 打 release 包 Algorithm HmacPBESHA256 not available 问题解决