zoukankan      html  css  js  c++  java
  • 面向对象设计原则

    开闭原则
    软件实体应当对扩展开放,对修改关闭
    当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。


    里氏替换原则
    当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。
    子类可以扩展父类的功能,但不能改变父类原有的功能。


    依赖倒置
    高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象
    其核心思想是:要面向接口编程,不要面向实现编程。


    单一职责
    单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分
    降低类的复杂度。一个类只负责一项职责,其逻辑肯定要比负责多项职责简单得多。
    提高类的可读性。复杂性降低,自然其可读性会提高。
    提高系统的可维护性。可读性提高,那自然更容易维护了。
    变更引起的风险降低。变更是必然的,如果单一职责原则遵守得好,当修改一个功能时,可以显著降低对其他功能的影响。


    接口隔离原则
    客户端不应该被迫依赖于它不使用的方法,一个类对另一个类的依赖应该建立在最小的接口上
    单一职责原则注重的是职责,而接口隔离原则注重的是对接口依赖的隔离。
    单一职责原则主要是约束类,它针对的是程序中的实现和细节;接口隔离原则主要约束接口,主要针对抽象和程序整体框架的构建。

    迪米特法则
    从依赖者的角度来说,只依赖应该依赖的对象。
    从被依赖者的角度说,只暴露应该暴露的方法。


    聚合复用原则
    它要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。

     http://c.biancheng.net/view/1333.html

  • 相关阅读:
    VIO(4)—— 基于滑动窗口算法的 VIO 系统:可观性和 一致性
    矩阵零空间的含义和物理意义
    Spring Boot 2.5.1 发布!我真跟不上了。。。
    Redis 是并发安全的吗?你确定?
    Spring Boot 集成 Apollo 配置中心,真香、真强大!
    Spring Boot 接入支付宝,实战来了!
    微服务必须具备的 3 个基本功能!
    如何加速 Nginx 的服务响应?
    golang在日志中打印堆栈信息
    Maven
  • 原文地址:https://www.cnblogs.com/ms_senda/p/12364025.html
Copyright © 2011-2022 走看看