设计模式 的SOLID 五大原则

SOLID 原则

设计模式中的SOLID原则,分别是单一原则、开闭原则、里氏替换原则、接口隔离原则、依赖倒置原则。前辈们总结出来的,遵循五大原则可以使程序解决紧耦合,更加健壮。

SRP	单一责任原则
OCP	开放封闭原则
LSP	里氏替换原则
ISP	接口隔离原则
DIP	依赖倒置原则

单一责任原则

指的是一个类或者一个方法只做一件事。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化就
可能抑制或者削弱这个类完成其他职责的能力。例如餐厅服务员负责把订单给厨师去做,而不是服务员又要订单又要炒菜。

开放封闭原则

对扩展开放,对修改关闭。意为一个类独立之后就不应该去修改它,而是以扩展的方式适应新需求。例如一开始做了普通
计算器程序,突然添加新需求,要再做一个程序员计算器,这时不应该修改普通计算器内部,应该使用面向接口编程,
组合实现扩展。

里氏替换原则

所有基类出现的地方都可以用派生类替换而不会程序产生错误。子类可以扩展父类的功能,但不能改变父类原有的功能。
例如机动车必须有轮胎和发动机,子类宝马和奔驰不应该改写没轮胎或者没发动机。

接口隔离原则

类不应该依赖不需要的接口,知道越少越好。例如电话接口只约束接电话和挂电话,不需要让依赖者知道还有通讯录。

依赖倒置原则

指的是高级模块不应该依赖低级模块,而是依赖抽象。抽象不能依赖细节,细节要依赖抽象。比如类A内有类B对象,称为类A依赖类B,但是不应该这样做,而是选择类A去依赖抽象。例如垃圾收集器不管垃圾是什么类型,要是垃圾就行。

总述

没人写一款程序能完全遵守SOLID原则,甚至有些设计模式是违反SOLID原则。如何权衡就要看利是否大于弊。
不足之处望指教。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
设计模式是软件设计中常用的最佳实践,它们是解决常见问题和复用已验证解决方案的经验总结。六大原则SOLID 原则,这些原则有助于编写可扩展、灵活且易于维护的代码。以下是 SOLID 原则及其优点: 1. 单一职责原则(Single Responsibility Principle, SRP): 每个类只做一件事,使其更易于测试和理解。优点是提高了模块的独立性和重用性。 2. 开闭原则(Open-Closed Principle, OCP): 对扩展开放,对修改关闭。通过接口或抽象类,可以在不修改原有代码的情况下增加新功能。这增强了系统的灵活性。 3. 里氏替换原则(Liskov Substitution Principle, LSP): 子类可以替换其基类而不会影响程序的正确性。确保子类继承的行为是一致的,有利于代码的可替换和适应变化。 4. 接口隔离原则(Interface Segregation Principle, ISP): 尽可能细化接口,避免大量无关的抽象方法,提高代码的可定制性。 5. 依赖倒置原则(Dependency Inversion Principle, DIP): 高层模块不应该依赖低层模块,两者都应依赖抽象。这样有利于模块间的解耦和测试。 6. 里氏替换原则(Liskov Substitution Principle, LSP,我在上一条已经提到了,这是个笔误,实际是单一职责原则SOLID中有四个原则,没有LSP)。 遵循这些原则能帮助开发者编写出清晰、灵活、易于理解和维护的代码,提高团队协作效率,并且有助于项目的长期可持续发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值