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

分析原设计的问题

原设计中 ChartDisplay 的 display(String type) 方法需要根据 type 判断是调用 PieChart.display() 还是 BarChart.display() ,如果后续新增图表类型(如折线图LineChart),就需要修改 ChartDisplay 的代码,违反了开闭原则(对扩展开放,对修改关闭)。
重构思路(符合开闭原则)

  1. 抽象图表接口:定义一个抽象的 Chart 接口/抽象类,包含统一的 display() 方法。
  2. 具体图表类实现接口:让 PieChart 、 BarChart (以及未来新增的图表类)都实现 Chart 接口,各自实现自己的 display() 逻辑。
  3. 重构ChartDisplay类: ChartDisplay 不再做类型判断,而是依赖抽象的 Chart 接口,通过调用 Chart.display() 来完成显示,新增图表时只需要新增 Chart 的实现类,无需修改 ChartDisplay 。
  4. public interface Chart {
    void display();
    }
    public class PieChart implements Chart {
    @Override
    public void display() {
    // 饼状图显示逻辑
    }
    }

public class BarChart implements Chart {
@Override
public void display() {
// 柱状图显示逻辑
}
}
public class ChartDisplay {
public void display(Chart chart) {
chart.display();
}
}
重构的优势

  • 新增图表类型(如 LineChart )时,只需要新建一个实现 Chart 接口的类,不需要修改 ChartDisplay 和已有图表类的代码,完全符合开闭原则。
    ​- 代码的可维护性、可扩展性大幅提升,降低了修改带来的风险。
    最终答案:通过抽象Chart接口、让具体图表类实现接口、重构ChartDisplay依赖抽象的方式,使系统符合开闭原则,重构后的类结构如上述所示
http://www.jsqmd.com/news/783267/

相关文章:

  • 微波马弗炉推荐品牌及核心参数解析 - 品牌推荐大师
  • VADER框架:将模糊AI法规转化为可量化技术指标的方法论
  • 广州亿源贸易商行:南沙茅台回收公司 - LYL仔仔
  • 长期使用中观察到的Taotoken账单明细与成本分析价值
  • CANN/cann-learning-hub:HIXL在RL推理中的长尾时延优化
  • CANN/hccl集合通信AlltoAllVC
  • 终极APA第7版格式转换指南:3分钟解决学术论文引用难题
  • 阿里云邮箱华东区域服务商有哪些?2026靠谱服务商推荐 - 品牌2025
  • 2026年成都水刀配件采购指南:从易损件困局到一站式解决方案 - 企业名录优选推荐
  • 2026年成都水刀配件厂家深度评测:力好机械与KMT/大地/永达品牌对比指南 - 企业名录优选推荐
  • 从零掌握DriverStore Explorer:Windows驱动管理的终极解决方案
  • 2026年必备:3招根治导师最怕的带AI痕迹论文,附一键去AI痕迹工具 - 降AI实验室
  • 支持本地部署的openclaw国产平替:企业级龙虾智能体全解析 - 品牌2025
  • 为OpenClaw配置Taotoken作为后端大模型供应商的详细步骤
  • RAG-Agent架构在肿瘤治疗决策支持系统中的实践与应用
  • 2026年4月评价好的NTM(NICHIFU端子公司推荐分析,NICHIFU端子:耐腐蚀设计,持久耐用 - 品牌推荐师
  • XAI赋能老年健康界面:从黑盒决策到可解释交互的设计实践
  • 广州亿源贸易商行:增城名酒回收公司电话 - LYL仔仔
  • BlueKeep翻车实录:说好的远程代码执行,怎么只换来一个蓝屏?
  • CANN/ops-transformer块稀疏注意力梯度算子
  • 2026年北京高空作业设备租赁排行榜:全品类服务商优选(升降机、高空车、曲臂车、直臂车、蜘蛛车、云梯车、叉车租赁(出租)) - damaigeo
  • 京津冀无甲醛家具品牌26年5月实测:4家头部品牌核心指标对比 - 奔跑123
  • 漏洞扫描、渗透测试、代码审计怎么选?安卓安全检测技术路线深度对比
  • 2026年成都水刀配件行业深度横评与采购指南 - 企业名录优选推荐
  • 哔哩下载姬DownKyi:从新手到高手的B站视频下载完全指南
  • CANGARU指南:生成式AI在学术研究中的负责任使用框架与实践
  • 智慧楼宇能效与运维难?映翰通 EC312 LoRaWAN 网关实战方案
  • 上海阿里云企业邮箱找哪些公司?靠谱服务商及联系电话详解 - 品牌2025
  • 江西省青蜂环保:奉新有害生物防治推荐几家 - LYL仔仔
  • 国内总镉水质在线分析仪十大品牌排名 - 仪表人小余