设计-七大原则

开闭原则

  开闭原则(Open-Closed Principle, OCP)是指一个软件实体如类、模块和函数应该对
扩展开放,对修改关闭。所谓的开闭,也正是对扩展和修改两个行为的一个原则。强调
的是用抽象构建框架,用实现扩展细节。可以提高软件系统的可复用性及可维护性。开
闭原则,是面向对象设计中最基础的设计原则

依赖导致原则

  依赖倒置原则(Dependence Inversion Principle,DIP)是指设计代码结构时,高层模
块不应该依赖底层模块,二者都应该依赖其抽象。抽象不应该依赖细节;细节应该依赖
抽象。通过依赖倒置,可以减少类与类之间的耦合性,提高系统的稳定性,提高代码的
可读性和可维护性,并能够降低修改程序所造成的风险。

单一职责原则

  单一职责(Simple Responsibility Pinciple,SRP)是指不要存在多于一个导致类变更
的原因。

接口隔离原则

  接口隔离原则(Interface Segregation Principle, ISP)是指用多个专门的接口,而不使
用单一的总接口,客户端不应该依赖它不需要的接口。这个原则指导我们在设计接口时
应当注意一下几点:
  1、一个类对一类的依赖应该建立在最小的接口之上。
  2、建立单一接口,不要建立庞大臃肿的接口。
  3、尽量细化接口,接口中的方法尽量少(不是越少越好,一定要适度)。
接口隔离原则符合我们常说的高内聚低耦合的设计思想,从而使得类具有很好的可读性、
可扩展性和可维护性。我们在设计接口的时候,要多花时间去思考,要考虑业务模型,
包括以后有可能发生变更的地方还要做一些预判。所以,对于抽象,对业务模型的理解
是非常重要的。

迪米特原则

  迪米特原则(Law of Demeter LoD)是指一个对象应该对其他对象保持最少的了解,又
叫最少知道原则(Least Knowledge Principle,LKP),尽量降低类与类之间的耦合。

里氏替换原则

  里氏替换原则(Liskov Substitution Principle,LSP)是指如果对每一个类型为 T1 的对
象 o1,都有类型为 T2 的对象 o2,使得以 T1 定义的所有程序 P 在所有的对象 o1 都替换成
o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。

合成复用原则

  合成复用原则(Composite/Aggregate Reuse Principle,CARP)是指尽量使用对象组
合(has-a)/聚合(contanis-a),而不是继承关系达到软件复用的目的。可以使系统更加灵
活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较少。

原文地址:https://www.cnblogs.com/silent-hong/p/11969620.html

时间: 2024-10-30 17:09:36

设计-七大原则的相关文章

软件设计七大原则

软件设计的七大原则 设计模式遵循的一般原则: 1.开-闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开发,对修改关闭.说的是,再设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展.换言之,应当可以在不必修改源代码的情况下改变这个模块的行为,在保持系统一定稳定性的基础上,对系统进行扩展.这是面向对象设计(OOD)的基石,也是最重要的原则. 2.里氏代换原则(Liskov Substitution Principle,常缩写为.LSP)(1).由B

面向对象设计七大原则

1. 单一职责原则(Single Responsibility Principle) 每一个类应该专注于做一件事情. 2. 里氏替换原则(Liskov Substitution Principle) 超类存在的地方,子类是可以替换的. 3. 依赖倒置原则(Dependence Inversion Principle) 实现尽量依赖抽象,不依赖具体实现. 4. 接口隔离原则(Interface Segregation Principle) 应当为客户端提供尽可能小的单独的接口,而不是提供大的总的接

初识面向对象设计--七大原则概述

面向对象设计有以下几种原则 1.开闭原则 Open-Close Principle(OCP) 2.里氏替换原则 Liskov Substitution Principle(LSP) 3.单一职责原则 Single Responsibility Principle(SRP) 4.接口隔离原则 Interface Segregation Principle(ISP) 5.依赖倒置原则 Dependence Inversion Principle(DIP) 6.迪米特原则/最少知识原则 Law of

软件设计七大原则之开闭原则

开闭原则: 对于一个软件实体如类,模块和函数应该对扩展开放,对修改关闭. 实际意义:软件的变化不应该通过修改已有的代码来实现变化. 实现手段:用抽象构建框架,用实现扩展细节 优点:提高软件系统的可复用性及可维护性 案例Coding: 课程类拥有id.name.原有价格.并通过实现ICourse接口去构建方法 Test:将课程相关信息输出 此时的类结构图为: 清晰简洁的类结构图,类和接口实现了依赖关系 此时当有打折活动时,我们需要对课程的价格进行打折,并要求输出打折价跟原价.首先我们会想到在原有的

面向对象设计的七大原则

在上一篇里我们谈了谈为何设计模式,那接下来我们再浅谈一下在面向对象设计中我们常常要遵循的一些原则. 这些原则是经过无数的前人总结出来的经验的结晶. 仅仅有遵循这些原则.你才有可能涉及出优秀的代码.今天我们要谈的原则有七大原则,即:单一职责.里氏替换.迪米特法则,依赖倒转,接口隔离,合成/聚合原则.开放-封闭 . 1.   开闭原则 定义:软件实体应当对扩展开放,对改动关闭.这句话说得有点专业.更通俗一点讲,也就是:软件系统中包括的各种组件,比如模块(Modules).类(Classes)以及功能

软件架构设计的七大原则

软件架构设计有七大原则,分别是: 1.开闭原则 2.依赖倒置原则 3.单一职责原则 4.接口隔离原则 5.迪米特法则(最小知道原则) 6.里氏替换原则 7.合成/聚合复用原则 下面分别具体说明: 1.开闭原则  :对扩展开放,对修改关闭    说的是,再设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展.换言之,应当可以在不必修改源代码的情况下改变这个模块的行为,在保持系统一定稳定性的基础上,对系统进行扩展. 例如:一般软件功能的升级就需要符合开闭原则,即不去修改原来的代码,而是去增

《Java设计模式》七大原则

最近几年来,人们踊跃的提倡和使用设计模式,其根本原因就是为了实现代码的复用性,增加代码的可维护性.设计模式的实现遵循了一些原则,从而达到代码的复用性及增加可维护性的目的,设计模式对理解面向对象的三大特征有很好的启发,不看设计模式,很难深层地体会到面向对象开发带来的好处 .在刚开始学习中,很难做到将这些模式融汇贯通,所以这个需要我们在编码前多思考,等想充分了,在开始实践编码.下面是设计模式应当遵循的七大原则 1.开闭原则(Open Close Principle) 定义:一个软件实体如类.模块和函

面对对象编程七大原则

面对对象编程七大原则: 1. OCP 全称:“Open-Closed Principle” 开放-封闭原则 说明:对扩展开放,对修改关闭. 优点:按照OCP原则设计出来的系统,降低了程序各部分之间的耦合性,其适应性.灵活性.稳定性都比较好.当已有软件系统需要增加新的功能时,不需要对作为系统基础的抽象层进行修改,只需要在原有基础上附加新的模块就能实现所需要添加的功能.增加的新模块对原有的模块完全没有影响或影响很小,这样就无须为原有模块进行重新测试. 如何实现“开-闭”原则 在面向对象设计中,不允许

软件设计模式七大原则的含义附举例说明

设计模式(面向对象)有七大原则,分别是: 1.开放-封闭原则 2.单一职责原则 3.依赖倒转原则 4.迪米特法则(也称为最小知识原则) 5.接口隔离原则 6.合成/聚合复用原则 7.里氏代换原则 开放-封闭原则具有理想主义的色彩,他是面向对象设计的终极目标.其他几条则可以看做是开放-封闭原则的实现方法.设计模式就是实现了这些原则,从而达到了代码复用,增加可维护性的目的. 一.开放-封闭原则 概念:一个软件实体如类.模块和函数应该对扩展开放,对修改关闭.模块应该尽量在不修改原代码的情况下进行扩展.