OO的五大原则是指SRP、OCP、LSP、DIP、ISP
1. SRP(Single Responsibility Principle 单一职责原则)
单一职责很容易理解,所谓单一职责,就是一个设计元素只做一件事。
2. OCP (Open Close Principle 开闭原则)
一句话:“Closed for Modification; Open for Extension”——“对变更关闭;对扩展开放”。
3. LSP(Liskov Substitution Principle 里氏替换原则)
子类应当可以替换父类并出现在父类能够出现的任何地方。这个原则是Liskov于1987年提出的设计原则。它同样可以从Bertrand Meyer 的DBC (Design by Contract) 的概念推出。我们以学生为例,夜校生为学生的子类,因此在任何学生可以出现的地方,夜校生均可出现。这个例子有些牵强,一个能够反映这个原则的例子时圆和椭圆,圆是椭圆的一个特殊子类。因此任何出现椭圆的地方,圆均可以出现。但反过来就可能行不通。运用替换原则时,我们尽量把类B设计为抽象类或者接口,让C类继承类B(接口B)并实现操作A和操作B,运行时,类C实例替换B,这样我们即可进行新类的扩展(继承类B或接口B),同时无须对类A进行修改。
4.DIP(Dependence Inversion Principle 依赖倒置原则
)
依赖倒置(Dependence Inversion Principle)原则讲的是:要依赖于抽象,不要依赖于具体。
简单的说,依赖倒置原则要求客户端依赖于抽象耦合。原则表述:
抽象不应当依赖于细节;细节应当依赖于抽象;
要针对接口编程,不针对实现编程。
5.ISP(Interface Segregation Principle 接口分隔原则)
采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。ISP原则是另外一个支持诸如COM等组件化的使能技术。缺少ISP,组件、类的可用性和移植性将大打折扣。这个原则的本质相当简单。如果你拥有一个针对多个客户的类,为每一个客户创建特定业务接口,然后使该客户类继承多个特定业务接口将比直接加载客户所需所有方法有效。
分享到:
相关推荐
在本文中,我们将详细探讨OOP设计中的五大原则:单一职责原则(Single Responsibility Principle,简称 SRP)、开放封闭原则(Open-Closed Principle,简称 OCP)、里氏替换原则(Liskov Substitution Principle,...
本文将详细解析这五大原则之一——开闭原则(Open-Closed Principle,简称OCP),并探讨其在软件开发过程中的应用与实践。 ### 开闭原则:面向对象设计的核心 开闭原则是由Bertrand Meyer于1988年提出的,它强调...
以下是五个主要的OO设计原则及其详细解释: 1. 单一职责原则(Single Responsibility Principle, SRP) SRP由Robert Martin提出,指出一个类应该只有一个改变的原因。这意味着类的职责应该高度凝聚,只负责单一的...
下面我们将从OO的设计基础、面向对象设计模式、设计目标、设计原则五大方面来浅谈Java中OO的概念和设计原则。 一、OO的设计基础 OO是基于对象概念,以对象为中心,以类和继承为构造机制,充分利用接口和多态提供...
OO方法,全称为面向对象的方法,是一种以对象为中心的软件开发方法论,它结合了数据和操作这些数据的函数,通过抽象、封装、模块化和分层等原则,以提高软件的可维护性和复用性。面向对象分析(OOA)和面向对象设计...
面向对象设计的主要任务就是类的设计,不少面向对象(OO)的先驱和前辈已经提出了很多关于类的设计原则,用于指导OOP,其中就包括类设计的五项基本原则。 1.单一职责原则(Single Resposibility Principle,SRP) ...
本文将详细探讨面向对象设计中的六大基本原则,并结合部分文本内容进行深入分析。 #### 一、开闭原则(Open-Closed Principle, OCP) **定义**:开闭原则指出,软件实体(如类、模块等)应该对扩展开放,对修改...
本文将详细介绍 LSP、OCP、SRP、ISP 和 DIP 这五大设计原则,并结合 UML 图表进行说明。 #### 1. LSP:Liskov 替换原则 (The Liskov Substitution Principle) Liskov 替换原则由 Barbara Liskov 在 1987 年提出,...
对于面向对象(Object-Oriented,简称OO)的代码来说,逆向工程可以帮助开发者更好地理解和重构现有系统,这对于维护大型软件项目、保护知识产权以及提高软件质量等方面都有着不可替代的作用。 #### 二、面向对象...
千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到OO原则,以方便判断取舍。可以这么说:OO原则是我们的目标,而设计模式是我们的做法...
- **基本原则**:公共控件或类应考虑OO思想,减少外界联系,考虑独立性或封装性。 - **目的**:提高代码的可扩展性和可维护性。 **3. 使用模板** - **基本原则**:公共控件或类应建立使用模板。 - **目的**:...
千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到OO原则,以方便判断取舍。可以这么说:OO原则是我们的目标,而设计模式是我们的做法...
SOLID 是五个基本原则的首字母缩写,包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。遵循这些原则,可以使代码更易于理解和维护。 本在线培训学习...
《万山垃圾渗滤液处理工程初步设计方案》是关于生活垃圾处理厂污水处理站工程的重要文档,由常州河海水环境工程有限公司于二OO五年五月编制。该设计方案涵盖了多项关键技术和设计原则,旨在有效地处理垃圾渗滤液,...
- **了解OO的设计原则及一些典型的设计模式**:掌握常用的设计原则,例如单一职责原则、开放封闭原则等,并熟悉常见的设计模式,如单例模式、工厂模式等。 #### 三、课程结构 课程结构分为以下几个部分: - **...
例如,在某份报告中提及的“二OO二年的工作成绩”,需要明确地指出在业务增长和团队协作方面的成就和进步。此外,回顾还需涵盖工作中的主要职责,以及如何达成或超越既定目标的过程和结果。通过这样的回顾,不仅可以...
学生需要阅读至少3篇关于面向对象(OO)的文章或书籍,然后撰写一篇小论文,可以是对OO技术的综述、对特定问题的研究,或者对OO特点的探讨。论文应包含标题、中英文摘要、概述、正文(1-2章)和结论,且必须注明...
#### 五、面向对象设计的原则 1. **单一职责原则(SRP)**:一个类应该只有一个引起它变化的原因。 2. **开放封闭原则(OCP)**:软件实体应该是可扩展的,但不可修改的。 3. **里氏替换原则(LSP)**:子类型必须能够...
在设计模式的学习中,SOLID原则是重要的指导思想,它包含了五个面向对象设计的基本原则: - 单一职责原则(Single Responsibility Principle, SRP):一个类应该只有一个引起它变化的原因。 - 开闭原则(Open/Closed...