• 聊聊面向对象的设计原则


    面向对象的初衷是应对需求变化、简化设计,提升组件复用性,使系统更稳定、易扩展易维护,而不是让系统更复杂,只开发写一次代码,重复造乱子。

    1. 开闭原则:对扩展开放,对修改关闭,是面向对象的目标原则,是最终想达到的状态。因为对修改关闭,所以原有功能稳定不会被改出新问题,因为扩展开放,所以可以新增功能应对需求变更。
    2. 里氏替换原则:子类替换父类,凡是父类或接口出现的地方都可以用它的子类或实现楼代替,它体现了继承的思想,正因为它才能复用代码使开闭原则有了实现的可能。
    3. 依赖倒置原则:具体依赖抽象,高层、低层依赖接口,它是实现开闭原则的主要手段。有了它才好做到对修改关闭,对扩展开放。
    4. 接口隔离原则:客户端不应依赖它不需要的接口,类间的依赖关系应建立在最小的接口上。接口隔离原则将非常庞大、臃肿的接口拆分成为更小的和更具体的接口,这样客户将会只需要知道他们感兴趣的方法。接口隔离原则的目的是系统解开耦合,从而容易重构、更改和重新部署。
    5. 迪米特法则:一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或调用的类知道得最少,类的内部如何实现、如何复杂都与调用者或者依赖者没关系,调用者或者依赖者只需要知道他需要的方法即可,其他的我一概不关心。类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。
    6. 单一职责原则:一个类应该只有一个引起它变化的原因。
    7. 组合继承原则:尽可能多用组合、少用继承。后者是编译时静态绑定,后者可以运行时动态确定,更灵活易扩展。

  • 相关阅读:
    深拷贝的终极探索(90%的人都不知道)
    VS Code:让你工作效率翻倍的23个插件和23个编辑技巧
    Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!
    【译】使用 ndb 调试 node 应用
    nodejs的express使用介绍
    Koa 框架教程
    VSCode配置Git随记
    单页面路由原理及实现
    可能比文档还详细--VueRouter完全指北
    急速JavaScript全栈教程
  • 原文地址:https://www.cnblogs.com/doit8791/p/8661606.html
Copyright © 2020-2023  润新知