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

C#高级编程:设计模式原则

设计模式六大原则

1、单一职责原则(Single Responsibility Principle,SRP)

  • 定义: 一个类应该有且仅有一个引起它变化的原因,也就是说一个类应该只负责一项职责。
  • 示例: 以一个用户管理系统为例,用户信息的存储和用户信息的显示应该由不同的类来负责。如果将这两个职责都放在一个类中,那么当存储方式发生变化或者显示方式需要调整时,这个类就需要进行修改,这就违反了单一职责原则。

2、开闭原则(Open - Closed Principle,OCP)

  • 定义: 软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。即当软件需要进行功能扩展时,应该通过增加新的代码来实现,而不是修改已有的代码。
  • 示例: 在一个图形绘制系统中,已经有了绘制圆形、矩形的功能。当需要增加绘制三角形的功能时,应该新增一个绘制三角形的类,而不是在原来绘制图形的类中添加绘制三角形的代码。

3、里氏替换原则(Liskov Substitution Principle,LSP)

  • 定义: 所有引用基类的地方必须能透明地使用其子类的对象。也就是

相关文章:

  • 数据分析预备篇---Pandas的Series
  • langChain存储文档片段,并进行相似性检索
  • 【神经网络与深度学习】通俗易懂的介绍非凸优化问题、梯度消失、梯度爆炸、模型的收敛、模型的发散
  • GITLAB跑gradle项目 不借助maven-publish直接上传到nexus私人仓库
  • C++STL——map和set的使用
  • 使用DevEco Studio性能分析工具高效解决鸿蒙原生应用内存问题
  • 免费专业级 PDF 处理!SolidPDF OCR 识别 + 精准转换批量处理
  • 【源码+文档+调试讲解】驾校报名小程序2
  • 嵌入式开发学习日志(数据结构--顺序结构单链表)Day19
  • 在scala中sparkSQL连接masql并添加新数据
  • 分割一切(SAM) 论文阅读:Segment Anything
  • c++ std库中的文件操作学习笔记
  • QEMU模拟32位ARM实现自定义系统调用
  • CodeBuddy 中国版 Cursor 实战:Redis+MySQL双引擎驱动〈王者荣耀〉战区排行榜
  • RAG之大规模解析 PDF 文档全流程实战
  • 网络协议分析 实验四 ICMPv4与ICMPv6
  • web-ui开源程序是建立在浏览器使用的基础上,旨在使 AI 代理可以访问网站
  • MySQL 学习(八)如何打开binlog日志
  • sqli-labs靶场第四关——“)闭合
  • deepseek梳理java高级开发工程师微服务面试题
  • 牛市早报|中方调整对美加征关税措施,五部门约谈外卖平台企业
  • 梅花奖在上海丨陈丽俐“婺剧折戏专场”:文戏武做,武戏文唱
  • SIFF动画单元公布首批片单:《燃比娃》《凡尔赛玫瑰》等
  • 王毅会见巴西外长维埃拉、总统首席特别顾问阿莫林
  • 泽连斯基批准美乌矿产协议
  • 牧原股份子公司与养殖户种猪买卖纠纷案一审胜诉