天道酬勤,学无止境

SOLID

“SOLID“五大原则

开闭原则说到面向对象设计,大部分人脑海中闪过的恐怕都是“23种设计模式”。设计模式代表的是业务场景中总结出的最佳实现方式,属于实践的范畴,在其之上是更为重要的“SOLID”五大原则:Single Responsibility Principle 单一责任原则The Open Closed Principle 开放封闭原则The Liskov Substitution Principle 里氏替换原则The Dependency Inversion Principle 依赖倒置原则The Interface Segregation Principle 接口分离原则SOLID 五大原则的出发点也是软件工程的终极目标:“高内聚、低耦合”。在后端开发中运用最多的是“依赖倒置原则”,与其相关的设计模式大约有5-6个。如下图所示:https://app.yinxiang.com/FileSharing.action?hash=1/cdbb94425672b019aa8f79d9c808cdb8-20964上图也可以理解为从抽象概念到具体实践的逐步演进。在前端技术框架中,运用最多的是“开放封闭原则”,我们先来看一下这条原则是怎么定义的:A software artifact should be open for extension but closed for modification

2021-04-20 03:37:20    分类:博客    SOLID

[5+1]里氏替换原则(二)

前言面向对象的SOLID设计原则,外加一个迪米特法则,就是我们常说的5+1设计原则。↑ 五个,再加一个,就是5+1个。哈哈哈。这六个设计原则的位置有点不上不下。论原则性和理论指导意义,它们不如封装继承抽象或者高内聚低耦合,所以在写代码或者code review的时候,它们很难成为“应该这样做”或者“不应该这样做”的一个有说服力的理由。论灵活性和实践操作指南,它们又不如设计模式或者架构模式,所以即使你能说出来某段代码违反了某项原则,常常也很难明确指出错在哪儿、要怎么改。所以,这里来讨论讨论这六条设计原则的“为什么”和“怎么做”。顺带,作为面向对象设计思想的一环,这里也想聊聊它们与抽象、高内聚低耦合、封装继承多态之间的关系。[5+1]里氏替换原则(一)看上一篇请点我。 里氏替换原则里氏替换与面向对象“结果导向”和“过程管控”是项目管理的常见思路。以产品需求为例。从结果导向的角度来看,我们只要实现了需求中提出的业务功能就大功告成了。至于用了哪些技术、做了什么设计,其实无关紧要。而从过程管控的角度来看,我们不仅要对最终结果负责,还要对项目进度、方案细节、里程碑产物等过程负责。显然,二者是对立统一的。片面强调某一方面、忽略另一方面的作用,都会给项目带来不必要的问题。只有“两手抓”,才能“两手都硬”。里氏替换原则就是这两种项目管理思想在面向对象设计中的体现。从结果导向的角度来看

2021-03-27 11:33:26    分类:博客    面向对象   SOLID   里氏替换原则   其它