首页 > 其他分享 >SOLID设计原则

SOLID设计原则

时间:2023-04-07 10:47:40浏览次数:34  
标签:原则 SOLID 派生类 Principle 模块 基类 设计

Single Responsibility Principle(SRP):单一职责原则

一个类或者一个模块只做一件事。减少功能之间的耦合程度。如厨师负责做菜,前台负责收银

Open Closed Principle(OCP):开闭原则

对扩展开放,对修改关闭。一个类独立之后就不应该去修改它,而是以扩展的方式适应新需求。

Liskov Substitution Principle(LSP):里氏替换原则

所有基类出现的地方都可以用派生类替换而不会让程序产生错误,派生类可以扩展基类的功能

Interface Segregation Principle(ISP):接口隔离原则

一个接口应该拥有尽可能少的行为,使其精简单一。

Dependence Inversion Principle(DIP):依赖倒置原则

高级模块不应该依赖低级模块,而是依赖抽象接口

标签:原则,SOLID,派生类,Principle,模块,基类,设计
From: https://www.cnblogs.com/zmzj/p/17295406.html

相关文章

  • 图腾柱无桥PFC,平均电流控制。 环路建模然后设计出电压环和电流环补偿网络
    图腾柱无桥PFC,平均电流控制。环路建模然后设计出电压环和电流环补偿网络,零极点放置。PLECS、psim和simulink均验证过,均有对应模型。同时Dual-boost PFC及两相、三相交错并联图腾柱PFC均有。YID:6566658337428528......
  • 六条Prometheus最佳实践原则
    在Prometheus官网中对如何更好地使用该监控系统做了充分的说明,包括指标和标签命名、控制台和仪表盘、测量仪表、直方图和摘要、告警、用好PushGateway等。1.指标与标签的命名指标命名必须符合数据模型的有效字符。应该有一个与度量所属的域相关的应用程序前缀(客户端库函数有时将前......
  • 魔王大人的打工日常 (贪心) 2023年“华为”杯广东工业大学第十七届程序设计竞赛
      思路:去除无用信息, 贪心发现:不论数列是怎样的一个排序,当交换2个数的时候,一定会有r-l的变化,这个变化不管是+1,还是-1,转化为奇偶性的时候就可以全部当成+1就彳于了......
  • 贯穿设计模式第一话--单一职责原则
    ......
  • 每日总结2023/4/6(python实现分型图形设计)
    importrandomimportturtleturtle.speed(100)defke_line(line_,n):ifn==0:turtle.fd(line_)else:line_len=line_//3foriin[0,60,-120,60]:turtle.left(i)ke_line(line_len,n-1)#原始线......
  • C 牛哥与AI (双hash,map处理 )2023年“华为”杯广东工业大学第十七届程序设计竞赛
     思路:从时间复杂度入手,就可以考虑暴力枚举每一种情况,然后利用数据结构去保存这些信息如何保存捏?自己想的是利用map<bitset>去做,真sb直接利用双hash,转化为数值然后map存就彳于了, 记住hash并不是只有字符串才用,01序列甚至图上,或者其他很多抽象的东西要去转......
  • C++/Qt网络通讯模块设计与实现(总结)
    至此,C++/Qt网络通讯模块设计与实现已分析完毕,代码已应用于实际产品中。C++/Qt网络通讯模块设计与实现(一)该章节从模块的功能需求以及非功能需求进行分析,即网络通讯模块负责网络数据包的发送、接收以及对外提供功能调用以及接口回调,其不进行产品业务的实现,达到平台化复用的目的,......
  • 每日总结2023/4/5(分型图形设计)
    分形分形,具有以非整数维形式充填空间的形态特征。通常被定义为“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状”,即具有自相似的性质。分形(Fractal)一词,是芒德勃罗创造出来的,其原意具有不规则、支离破碎等意义。1973年,芒德勃罗(B.B.Mandelbrot......
  • 什么是程序设计里的 backoff pattern
    Backoffpattern是一种程序设计模式,通常用于处理因高负载或故障而导致的请求失败或错误。该模式基于一种简单的策略,即当请求失败时,等待一段时间后重试,等待时间逐渐增加,直到成功或达到最大重试次数为止。在实际应用中,Backoffpattern通常会包含以下几个要素:初始等待时间:在第一......
  • Spartacus 4.0 升级到 5.0 后 checkout library 的设计变化
    在Spartacus4.0中,通过从原始storefront库中提取checkout功能,创建了一个新的checkoutlibrary实现。然而,这个新的库只有一个包含所有结帐流程的入口点,即使它们未被使用(例如scheduledreplenishmentflow)。但是,在Spartacus5.0中,checkout库已进一步分离为不同的业务逻......