码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 02 开闭原则


    官方定义:

    开闭原则规定软件中的对象、类、模块和函数对扩展应该是开放的,但对于修
    改是封闭的。这意味着应该用抽象定义结构,用具体实现扩展细节,以此确保
    软件系统开发和维护过程的可靠性。

    通俗解释:

    对扩展开放,对修改关闭
    对扩展开放和对修改关闭表示当一个类或一个方法有新需求或者需求发生改变时应该采用扩展的方式而不应该采用修改原有逻辑的方式来实现。因为扩展了新的逻辑如果有问题只会影响新的业务,不会影响老业务;而如果采用修改的方式,很有可能就会影响到老业务受影响。
    开闭原则是所有设计模式的最核心目标,也是最难实现的目标,但是所有的软件设计模式都应该以开闭原则当作标准,才能使软件更加的稳定和健壮。

    优点:
    1. 新老逻辑解耦,需求发生改变不会影响老业务的逻辑
    2. 改动成本最小,只需要追加新逻辑,不需要改的老逻辑
    3. 提供代码的稳定性和可扩展性
    场景示例

    在这里插入图片描述

    顶层设计思维

    抽象意识
    封装意识
    扩展意识

  • 相关阅读:
    水文遥测终端(水文遥测终端机)遥测终端机RTU 中小河流水文水雨情自动监测设备
    【计算机网络】——前言计算机网络发展的历程概述
    【EI会议征稿】第四届环境资源与能源工程国际学术会议(ICEREE 2024)
    python容器模块Collections
    【开发】微服务整合Sentinel
    最强Redis实战学习笔记,没有之一
    猿创征文 | 【Rust指南】解析struct 结构体的定义、实例化、方法、所有权、关联函数
    面试官:说一下 px、em、rem、vw/vh?em和rem的区别?
    iNeuOS工业互联网操作系统,设备运维业务和“低代码”表单开发工具
    基于Qt Creator开发的坦克大战小游戏
  • 原文地址:https://blog.csdn.net/weixin_39563769/article/details/133898804
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号