美文网首页
软件设计的6大原则

软件设计的6大原则

作者: 代运超 | 来源:发表于2020-04-01 16:02 被阅读0次

1.单一职责原则(Single Responsibility Principle)

单一职责原则的定义是:“There should never be more than one reason for a class to change.”,也就是有且仅有一个原因引起类的变更。这样可以降低类的复杂性,实现什么职责都有清晰明确的定义;可读性提高;可维护性提高;变更引起的风险降低。

2.里氏替换原则(Liskov Substitution Principle)

“龙生龙,凤生凤,老鼠生来会打洞。”这个就是我们经常开发过程中会用到的继承。里氏置换原则的定义是:Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it,只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常。这样的话就要求子类必须完全实现父类的方法;覆盖或实现父类的方法时输入参数可以被放大,输出结果可以被缩小(逆变协变)。采用里氏替换原则可以提高程序的健壮性,版本升级时也可以保持非常好的兼容性。

3.依赖倒置原则(Dependence Inversion Principle)

依赖倒置原则,模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的;接口或者抽象类不依赖于实现类;实现类依赖与接口或抽象类。需要每个类尽量都有接口或者抽象类;变量的表面类型尽量是接口或者抽象类;任何类都不应该从具体类派生(超过两层), 尽量不要复写基类的方法。采用依赖倒置原则可减少类间的耦合性,提高系统的稳定性,降低并行开发引起的风险,提高代码可读性和可维护性。依赖也可以称为注入,一般可以通过构造函数注入,属性注入,接口注入。

4.接口隔离原则(Interface Segregation Principle)

接口隔离原则的定义是接口尽量细化,同时接口中的方法尽量少。需要一个接口只服务于一个子模块或者业务逻辑;通过业务逻辑尽量压缩接口中的方法;这样可以提高内聚,降低耦合,重用代码。

5.迪米特法则(Law of Demeter)

迪米特法则,也称为最少知识原则,也就是一个对象应该对其他对象有最少的了解。需要只和朋友交流;朋友间也是有距离的;自己的就是自己的;如果一个类放在本类中,既不增加类间的关系,也对本类不产生负面影响,那就放置在本类中。类间解耦,弱耦合。

6.开闭原则(Open Closed Principle)

开闭原则,Software entities like classes, modules and functions should be open for extension but closed for modifications,软件实体比如类,模块,和函数应该对拓展开放,对修改关闭,也就是尽量通过拓展实体行为来实现变化。需要抽线约束,将相同的变化封装到一个接口或抽象类,将不同的变化封装到不同的接口或抽象类中。其实前面的5个原则都是开闭原则的指导设计工具和方法,开闭原则是他们的精神领袖。

相关文章

  • 软件设计6大原则

    1. 单一职责原则 原则思想:一个方法只负责一件事情。描述:一个方法,一个类只负责一个职责,各个职责的程序改动,不...

  • 软件设计的6大原则

    1.单一职责原则(Single Responsibility Principle) 单一职责原则的定义是:“The...

  • c++ 设计模式 - 1

    1.什么是好的软件设计?软件设计的金科玉律:复用 2.设计模式八大原则 依赖倒置原则(DIP)高层模块(稳定)不应...

  • 软件设计的6大基本原则

    软件设计的6大原则 单一职责原则: 一个类就干一件事儿 开闭原则: 对扩展开放, 对修改关闭。 简单工厂模式 到 ...

  • C++设计模式(1)

    本文预览: 设计模式简介软件设计固有的复杂性如何解决复杂性软件设计的目标 设计模式六大原则 组件协作模式模板方法策...

  • 设计模式六大原则

    简介 6大原则是良好的软件工程设计思想。传统的23种设计模式,就是这6大原则在具体场景的应用。6大原则是本,23种...

  • 软件设计7大原则

    软件设计7大原则 开闭原则 依赖倒置原则 单一职责原则 接口隔离原则 迪米特法则(最少知道原则) 里氏替换原则 合...

  • 面向对象软件设计七大原则

    介绍 软件设计的七大原则如下: 开闭原则 依赖倒置原则 单一职责原则 接口隔离原则 迪米特法则 里式替换原则 合成...

  • asp.net core系列 65 正反案例介绍SOLID原则

    一.概述 SOLID五大原则使我们能够管理解决大多数软件设计问题。由Robert C. Martin在20世纪90...

  • 软件设计7大原则

    1.开闭原则 对扩展开放,对修改关闭 2.单一职责原则 一个类、接口、方法只做一件事。 3.依赖倒置原则 通过抽象...

网友评论

      本文标题:软件设计的6大原则

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