找回密码
 立即注册
首页 业界区 业界 面向对象设计原则总结:SOLID/LKP/DRY/KISS… ...

面向对象设计原则总结:SOLID/LKP/DRY/KISS…

常士 2025-6-6 22:06:33
目录


  • 封装变化
  • 针对接口编程,不针对实现编程
  • 多用组合(has-a),少用继承(is-a)
  • 为交互对象之间的松耦合设计而努力
  • 最少知识原则 LKP / 迪米特法则 Law of Demeter
  • 好莱坞原则
  • SOLID 原则

    • 单一职责原则 SRP
    • 开放关闭原则 OCP
    • 里氏替代原则 LSP
    • 接口隔离原则 ISP
    • 依赖倒置原则 DIP

  • DRY 原则
  • KISS 原则
封装变化

找出应用中需要经常变化的部分,把他们独立出来,改变这部分代码不影响其他部分。这几乎是每个设计模式背后的精神所在,即系统中某部分的改变不影响其他部分。
针对接口编程,不针对实现编程

针对接口编程,关键在于多态。变量/成员/形参的声明应该是抽象类/接口类/父类,即所有的代码操作的都是父类/接口类/抽象类(如 Animal),只会在一处会涉及到具体类(如 Cat 或 Dog),那就是在用 new 实例化具体子类对象时,而这部分代码最好也用工厂封装起来,这样甚至可以在运行时动态实例化不同的子类对象。
[table][tr]针对实现编程
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册