美文网首页
软件开发几大原则

软件开发几大原则

作者: 视频怪物 | 来源:发表于2019-12-24 15:05 被阅读0次

开闭原则

一个软件如 类, 模块和函数应该对扩展开放, 对修改关闭

用抽象构建框架, 用实现扩展实现

优点: 提供软件系统的可复用性及可维护性.

依赖倒置原则

高层模块不应该依赖底层模块, 二者都应该依赖其抽象

抽象不应该依赖细节, 细节应该依赖抽象.

针对接口编程, 不要针对实现编程.

优点: 可以减少类间的耦合性, 提高系统稳定性, 提高代码可读性和可维护性, 可减低修改程序所造成的风险

单一职责原则

不要存在多于一个导致类变更的原因

一个类/ 接口/ 方法只负责一项职责

优点: 降低类的复杂度, 提高类的可读性, 提高系统的可维护性, 降低变更引起的风险

单一职责原则

接口隔离原则

用多个专门的接口, 而不使用单一的总接口, 客户端不应该依赖它不需要的接口

  1. 一个类对另一个类的依赖应该建立在最小的接口上

  2. 建立单一接口, 不要建立庞大臃肿的接口

  3. 尽量细化接口, 接口中的方法尽量少

  4. 注意适度原则, 一定要适度

  5. 提高内聚, 尽量减少对外的交互

优点: 符合我们常说的高内聚低耦合的设计思想, 从而使得类具有很好的可读性, 可扩展性和可维护性.

接口隔离原则

迪米特原则(最少知道原则)

一个对象应该对其他对象保持最少的了解, 又叫最少知道原则

尽量降低类和类之间的耦合

强调只和朋友交流, 不和陌生人说话.

朋友: 出现在成员变量, 方法的输入/输出参数中的类称为成员朋友类, 而出现在方法体内部的类不属于朋友类.

优点: 降低类之间的耦合

迪米特原则(最少知道原则)

合成/复用原则

尽量使用组合,尽量不要使用继承

组合

由于组合可以将已有的对象纳入到新对象中,使之成为新对象的一部分,因此新对象可以调用已有对象的功能

优点
  1. 新对象存取成分对象的唯一方法是通过成分对象的接口。
  2. 这种复用是黑箱复用,因为成分对象的内部细节是新对象所看不见的。
  3. 这种复用支持包装。
  4. 这种复用所需要的依赖较少。
  5. 每一个新的类可以将焦点集中到一个任务上。
  6. 这种复用可以在运行时间动态进行,新对象可以动态的引用与成分对象类型相同的对象。
缺点

就是用组合复用建造的系统会有较多的对象需要管理。

继承

组合几乎可以用到任何环境中去,但是继承只能用到一些环境中。

继承复用通过扩展一个已有对象的实现来得到新的功能,基类明显的捕获共同的属性和方法,而子类通过增加新的属性和方法来扩展超类的实现。

优点:
  1. 新的实现比较容易,因为基类的大部分功能都可以通过继承自动的进入子类。
  2. 修改或扩展继承而来的实现较为容易。
缺点:
  1. 继承复用破坏了包装,因为继承超类的的实现细节暴露给子类。由于超类的内部细节常常对子类是透明的,因此这种复用是透明的复用,又称“白箱”复用。
  2. 如果超类的实现发生改变,那么子类的实现也不得不发生改变。因此,当一个基类发生改变时,这种改变就会像水中投入石子引起的水波一样,将变化一圈又一圈的传导到一级又一级的子类,使设计师不得不相应地改变这些子类,以适应超类的变化。
  3. 从超类继承而来的实现是静态的,不可能在运行时间内发生改变,因此没有足够的灵活性。

相关文章

  • 软件开发几大原则

    开闭原则 一个软件如 类, 模块和函数应该对扩展开放, 对修改关闭 用抽象构建框架, 用实现扩展实现 优点: 提供...

  • 从精益软件到精益思想

    说起精益软件开发,这绝对算是一个老生常谈的话题了。所以在这里,我不想去谈论诸如“精益软件开发的几大原则”或是“精益...

  • 设计模式-六大原则

    首先设计模式的几大原则 1,单一职责原则(Single Responsibility Principle, SRP...

  • 面向对象

    面向对象的3大特性 封装 继承 多态 面向对象的几大原则 单一职责原则 里氏替代原则 依赖倒转原则 开放-封闭原则...

  • 软件开发原则()

  • 几大原则

    单一职责原则 单一职责原则就是一个类应该仅有一个引起它变化的原因 开放-封闭原则 开发-封闭原则,是说软件实体(类...

  • 互惠原则

    《影响力》这本书提到影响人们的几大原则,其中提到了互惠原则。 简单来说,互惠原则就是:要是人家给了我们什么好处,我...

  • 设计模式原则

    设计模式的几大原则 Ø 开放-封闭原则:对扩展开放,对修改封闭,可以用新的类来解决问题 Ø 单一职责原则:设计...

  • Mysql建索引的注意事项

    建索引的几大原则 1.最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、betw...

  • 软件开发的原则

    版本开发复盘的一封邮件 我们的问题: 1、测试:不知道开发又改了啥,xx测试用例又测试不过了 2、我要改个接口。。...

网友评论

      本文标题:软件开发几大原则

      本文链接:https://www.haomeiwen.com/subject/kvcfoctx.html