美文网首页
2019-04-14 软件设计的七大原则

2019-04-14 软件设计的七大原则

作者: 竹blue | 来源:发表于2019-04-14 16:38 被阅读0次

七大原则

  • 原则一-- 开闭原则
  • 原则二-- 依赖倒置原则
  • 原则三-- 单一职责原则
  • 原则四-- 接口隔离原则
  • 原则五-- 迪米特法则(最少知道原则)
  • 原则六-- 里氏替换原则
  • 原则七-- 合成复用原则

开闭原则

  1. 定义:软件实体对扩展开发,对修改关闭。[注意:实体包括:类、模块和函数]//todo 此处可设置成红色。
  2. 目的:提高软件系统的可复用性及可维护性。
    3.实例:下面代码体现。
public interface Course(){
}

依赖倒置原则

  1. 定义:代码结构设计时,优先考虑类依赖其他类的抽象,方法的调用也已抽象代替方法代替具体实现方法为主。[大家要切记:1.以抽象为基准比以细节为基准搭建起来的架构要稳定;2.要面向接口编程,先顶层(抽象)再细节(实现)来设计代码结构。
    ]
  2. 目的:减少类与类之间的耦合性,提高系统的稳定性,提高代码的 可读性和可维护性.
    3.实例:下面代码体现。
public interface Course(){
}

单一职责原则

  1. 定义:指不要存在多于一个导致类变更 的原因。在方法或类层面尽量做到单一性,即方法执行一种行为或类实现一种职责。
  2. 目的:降低类的复杂度,提高类的可读性。
    3.实例:下面代码体现。
public interface Course(){
}

接口隔离原则

  1. 定义:是指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口。

  2. 注意:
    1、一个类对一类的依赖应该建立在最小的接口之上。
    2、建立单一职责的接口,替换庞大臃肿接口。
    3、尽量细化接口,接口中的方法尽量少(不是越少越好,一定要适度)。

  3. 目的:高内聚低耦合的设计思想,从而使得类具有很好的可读性、 可扩展性和可维护性
    4.实例:下面代码体现。

public interface Course(){
}

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

  1. 定义:指一个对象应该对其他对象保持最少的了解,又叫最少知道原则,尽量降低类与类之间的耦合。具体来说:就是只关注依赖接口的成员变量和方法参数,方法中的内部变量不进行关注。
  2. 目的:减低类之间的耦合性。
    3.实例:下面代码体现。
public interface Course(){
}

里氏替换原则

  1. 定义:一个软件实体如果适用一个 父类的话,那一定是适用于其子类,所有引用父类的地方必须能透明地使用其子类的对象,子类对象能够替换父类对象,而程序逻辑不变。--子类可以扩展父类的功能,但不能改变父类原有的功能。
    2.引申:
    1、子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
    2、子类中可以增加自己特有的方法。
    3、当子类的方法重载父类的方法时,方法的前置条件(即方法的输入/入参)要比父类 方法的输入参数更宽松。
    4、当子类的方法实现父类的方法时(重写/重载或实现抽象方法),方法的后置条件(即 方法的输出/返回值)要比父类更严格或相等
  2. 优点:
    1、约束继承泛滥,开闭原则的一种体现。
    2、加强程序的健壮性,同时变更时也可以做到非常好的兼容性,提高程序的维护性、扩 展性。降低需求变更时引入的风险
    3.实例:下面代码体现。
public interface Course(){
}

合成复用原则

  1. 定义:指尽量使用对象组合/聚合,而不是继承关系达到软件复用的目的。
  2. 目的:系统更加灵 活,降低类与类之间的耦合度
    3.说明:
    1、继承我们叫做白箱复用,相当于把所有的实现细节暴露给子类。
    2、组合/聚合也称之为黑箱 复用,对类以外的对象是无法获取到实现细节的。
    3.实例:下面代码体现。
public interface Course(){
}

总结

学习设计原则,学习设计模式的基础。在实际开发过程中,并不是一定要求所有代码都 遵循设计原则,我们要考虑人力、时间、成本、质量,不是刻意追求完美,要在适当的 场景遵循设计原则,体现的是一种平衡取舍,帮助我们设计出更加优雅的代码结构。

相关文章

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

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

  • 七大软件设计原则

    七大软件设计原则 一、开闭原则(Open-Closed Principle) 定义:一个软件实体如类、模块和函...

  • 设计模式03-结构型模式

    写在前面 软件设计七大原则开闭原则里氏替换原则依赖倒置原则单一职责原则接口隔离原则迪米特法则合成复用原则 创建型模...

  • 设计模式04-行为型模式

    写在前面 软件设计七大原则开闭原则里氏替换原则依赖倒置原则单一职责原则接口隔离原则迪米特法则合成复用原则 创建型模...

  • 设计模式01-软件设计七大原则

    写在前面 软件设计七大原则开闭原则里氏替换原则依赖倒置原则单一职责原则接口隔离原则迪米特法则合成复用原则 创建型模...

  • 设计模式02-创建型模式

    写在前面 软件设计七大原则开闭原则里氏替换原则依赖倒置原则单一职责原则接口隔离原则迪米特法则合成复用原则 创建型模...

  • 2019-04-14 软件设计的七大原则

    七大原则 原则一-- 开闭原则 原则二-- 依赖倒置原则 原则三-- 单一职责原则 原则四-- 接口隔离原则 原则...

  • 软件设计七大原则

    软件设计七大原则 1.开闭原则定义:一个软件实体如类、模块和函数应该对扩展开发,对修改关闭用抽象构建框架,用实现扩...

  • 七大软件设计原则

    开闭原则 开闭原则(Open-Closed Principle, OCP)是指一个软件实体如类、模块和函数应该对扩...

  • 七大软件设计原则

    软件设计原则是比较抽象的概念,在设计模式中经常体现初设计原则的概念,但是设计模式中也会有取舍,可能部分体现了,也可...

网友评论

      本文标题:2019-04-14 软件设计的七大原则

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