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


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

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

  • 相关阅读:
    Vue 中动态添加class(使用v-bind:class)
    Vue 过滤器的使用
    Huxley 是一个用于Web应用 UI 测试的工具
    showmessage函数里
    [Php] PHPExcel读取Excel文件(或来自客户端上传的)并返回二维数组
    async-validator -- git地址
    Antd Upload组件上传文件至php后端, php拿到对应的文件名(二: vue实现)
    Antd Upload组件上传文件至php后端, php拿到对应的文件名
    对数据库中一个timestamp类型字段时间上作加减
    小学生作文怎么辅导?
  • 原文地址:https://www.cnblogs.com/doit8791/p/8661606.html
Copyright © 2020-2023  润新知