欢迎光临散文网 会员登陆 & 注册

SOLID原则-每个原则一句话理解大法

2023-09-18 23:29 作者:杰瑞春  | 我要投稿

       上次更新完视频后,一直处于封闭项目开发中,视频鸽的时间有点长,给老铁们说声抱歉☹️。

       项目审查代码过程中,刚好发现在带新人的时候,他们对面向对象编程的SOLID原则理解普遍模糊,所以打算试试写个专栏,看能不能不用看代码的情况下尝试理解它(前提是你用的是面向对象编程语言且入门了🤣)。

S - 单一职责原则:一个类只负责干一件事!例如正确的做法是一个对象的属性(Domain Class)服务方法(Service Method)放在不同的类中。

O - 开放关闭原则:一个业务对象需要提供可扩展性,而不是把不同业务逻辑全部放在一个类中,在需求变更的时候去修改它。正确的做法例如支付功能,可以扩展出支付宝支付、微信支付等等。

L - 里氏替换原则:接口或者基类的纵向继承;例如下面的结构不会因为标准不同,总是要去修改IA接口定义。
                    IA [车对象接口]- > IB:IA[燃油车] -> Impl:IB[燃油车实现]
                    IA [车对象接口]-> Impl:IA[就是个车的共享功能实现]
                    IA [车对象接口]- > IC:IA[新能源车] -> Impl:IC[新能源车实现]

I - 接口隔离原则:接口或者基类的横向集(继)成(承),例如下面的结构会不断增强对象的能力。
                    IA [车对象接口]  IB[行李架接口]  IC[牵引接口] -> Impl:IA,IB,IC[越野车实现]

(OLI三个原则的区别是:开放关闭代表方式不同,里氏代表标准不同,接口隔离代表能力不同)

D - 依赖注入原则:就是服务(Service)类实现不依赖具体的功能实现类(Impl Class),而是依赖于实现类的抽象(基类/接口),例如“开放关闭原则”中实现了不同的支付方式,而具体的支付服务类只依赖于他们的支付基类,而不必关心到底是用什么方式完成支付的。


       好的系统开发,就是尽可能解偶,便于维护,避免出现牵一发而动全身、修改Bug的时候出现压下葫芦浮起瓢的情况。


SOLID原则-每个原则一句话理解大法的评论 (共 条)

分享到微博请遵守国家法律