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

Java 开闭原则学习

一、原始设计的问题原始设计里ChartDisplay的display(String type)方法里通常会写一堆if/else或switch比如java运行if (pie.equals(type)) { new PieChart().display(); } else if (bar.equals(type)) { new BarChart().display(); }违反开闭原则新增图表类型比如折线图时必须修改ChartDisplay的代码不符合 “对扩展开放、对修改关闭”。耦合度高ChartDisplay直接依赖具体的PieChart、BarChart类两者绑定过死。二、重构方案开闭原则 依赖倒置核心思路是抽象出稳定的接口让高层模块依赖抽象而不是具体实现。1. 第一步抽象Chart接口定义所有图表都要实现的通用方法java运行public interface Chart { void display(); }2. 第二步具体图表实现接口让PieChart、BarChart实现Chart接口这样它们就变成了 “可扩展的具体实现”java运行public class PieChart implements Chart { Override public void display() { System.out.println(显示饼状图); } } public class BarChart implements Chart { Override public void display() { System.out.println(显示柱状图); } }3. 第三步重构ChartDisplay依赖抽象接口ChartDisplay不再直接依赖具体图表而是依赖Chart接口代码改为java运行public class ChartDisplay { // 依赖抽象接口而非具体实现 public void display(Chart chart) { chart.display(); } }
http://www.zskr.cn/news/1391359.html

相关文章:

  • 3分钟掌握Book118文档下载器:免费获取可预览文档的终极指南
  • Agent 一接定时任务平台就开始重复调度:从 Cron Expression 到 Idempotent Window 的工程实战
  • 书匠策AI到底是个啥?一个论文科普博主的“拆机式“深度测评
  • 全纯嵌入法在交直流混合电网潮流计算中的统一建模与效率优化
  • 基于YOLOv8与PaddleOCR的工牌信息智能提取系统实战
  • PICT成对测试实战指南:如何用数学原理将测试用例减少80%
  • JMeter分布式压测负载机配置全指南:从RMI通信到时钟同步
  • 免费在电脑畅玩Switch游戏:Ryujinx模拟器终极完整指南
  • FastAPI权限控制深度解析:使用fastapi-permissions实现企业级行级安全
  • 衢州黄金上门回收指南,福运来凭实力领跑 - 黄金回收
  • Lovable平台前端性能优化实战:首屏加载从4.2s压至0.8s的9项关键技术栈升级
  • 告别电机乱转!用Arduino UNO和L293D模块驱动5V小风扇的保姆级教程
  • 融合大语言模型与深度检索的时间序列异常检测框架解析
  • 配电网故障定位:利用相位感知机器学习提升稀疏监测下的精度
  • 初学者电钢琴选购指南,资深钢琴老师7款高性价比电钢琴推荐
  • 软件开发领域工作流重构
  • ARM QoS-400与I/O虚拟化:解决实时系统内存争用的软硬件协同方案
  • 如何在5分钟内用jsPsych创建你的第一个在线行为实验?终极指南
  • RISC-V指令集扩展加速后量子密码Kyber算法在嵌入式系统中的应用
  • Godot-MCP:面向游戏开发的AI协作协议设计与实践
  • 2026新榜单:新余CMA甲醛检测治理及公共卫生检测报告地址联系方式集合(2026版) - 金诚回收
  • 韬(τ)定律-华为
  • Google搜索高级语法实战:三类问题精准检索方法论
  • DynPath:硬件非侵入式动态执行路径分析器设计与实现
  • FPGA入门实战:基于Alchitry Au与Vivado的VHDL计数器设计与烧录全流程
  • 知识图谱与Transformer融合:构建可解释的智能医疗对话系统
  • 2026最新徐州除甲醛公司推荐:徐州甲醛检测、除甲醛治理、室内空气检测、CMA 检测优选指南 - 专注室内空气检测治理
  • 3步解锁Office完整功能:Ohook免费激活Microsoft 365终极方案
  • UE5 C++ DeveloperSettings配置治理实战指南
  • 用自然语言控制你的电脑:UI-TARS桌面AI助手的革命性体验