单一职责原则(SRP)
就一个类而言,应该仅有一个引起它变化的原因。
开放-封闭原则(OCP)
软件实体(类、模块、函数等等)应该是可以扩展的,但是不可修改的。
1、 对于扩展是开放的
这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。
2、 对于更改是封闭的
对模块的行为进行扩展时,不必改动模块的源代码或者二进制代码。
OCP背后的主要机制是抽象与多态!
Liskov替换原则(LSP)
子类型必须能够替换掉它们的基类型。
简单的例子:
违反LSP原则的例子
public void saysomething(Language lan){
String tempStr = "";
if(lan instanceof Chinese){
tempStr = "中文";
}
if(lan instanceof English){
tempStr = "英文";
}
System.out.println("现在你学习的语言是:"+tempStr);
}
|
因为如果传递到saysomething方法中的Language是一个Japanese对象时,它将无法处理!
要让它符合LSP也非常简单:
public abstract class Language {
public abstract String toString();
}
public class Chinese extends Language{
@Override
public String toString() {
return "中文";
}
}
public class English extends Language{
@Override
public String toString() {
return "英语";
}
}
public void saysomething(Language lan){
System.out.println("现在你学习的语言是:"+lan.toString());
}
|
在这种情况下,可以随意定义Language的子类,并传递到saysomething方法,不会有任何问题。
依赖倒置原则(DIP)
A、高层模块不应该依赖于底层模块。二者都应该依赖于抽象。
B、 抽象不应该依赖于细节。细节应该依赖于抽象。
接口隔离原则(ISP)
不应该强迫客户依赖于它们不用的方法。(避免“胖”接口)
分享到:
相关推荐
**OOD原则:面向对象设计(Object-Oriented Design)原则** 面向对象设计是软件开发中的一种重要方法,它强调将现实世界中的实体转化为程序中的类和对象,通过封装、继承和多态等特性来实现软件的模块化和可扩展性...
"OOD设计基本原则整理" OOD 设计基本原则之一:开-闭原则 开-闭原则是 OOD 设计的核心原则之一,该原则强调一个软件实体应当对扩展开放,对修改关闭。也就是说,在设计一个软件实体的时候,应当使这个软件实体可以...
OOD 面向对象设计原则与实践 面向对象设计(OOD)是一种软件设计方法,旨在提高软件系统的灵活性、可维护性和可扩展性。OOD 的核心是面向对象设计原则(OOD principles),其中包括单一职责原则(SRP)、开闭原则...
**对象导向设计(Object Oriented Design,OOD)** 对象导向设计是软件开发中的一种核心方法,它基于面向对象编程(Object-Oriented ...在实际项目中,合理运用OOD原则和技巧,能够提升软件开发的效率和质量。
本文将深入探讨Uncle Bob提出的OOD原则,以及这些原则在C++编程中的应用。** 1. **单一职责原则(Single Responsibility Principle, SRP)**:每个类或模块应该只有一个改变的原因。这意味着一个类应专注于一个特定...
软件设计的七大原则(OOD) software设计的七大原则是指在软件设计中遵守的一些基本原则,以提高软件的可复用性、灵活性、可扩展性和可维护性。其中包括SRP(单一职责原则)、OCP(开闭原则)、LSP(里氏替换原则)...
OOD 设计基本原则包括 OCP 原则、里氏替换原则、依赖倒置原则、接口隔离原则、聚合与继承原则、单一职责原则、Separation of concerns Principle 和 Pareto Principle 等。 OCP 原则(Open-Closed Principle)是 ...
面向对象设计(OOD)是面向对象编程(OOP)的进一步发展,OOP提供了封装、继承和多态等基本原则,而OOD则侧重于如何高效、合理地组织这些原则,以创建模块化、可复用和灵活的软件架构。OOD的目标是确保软件能够适应...
OOD的原则包括: 1. **SOLID原则**:SOLID是五个面向对象设计原则的首字母缩写,包括单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则指导我们编写可维护、可扩展的代码。 2. **设计...
全书共11章,总结出了60多条面向对象设计(OOD)的指导原则。这些经验原则涵盖了从类到对象(主要强调它们之间的关系,包括关联、使用、包含、单继承、多继承)到面向对象物理设计的重要主题。本书将帮助你理解经验...
OOD 原则中,迪米特原则是一个对象应当对其他对象有尽可能少的了解,该原则与结构优化方法的低藕合原则是一致的。 10. 数据容灾与数据备份 数据容灾是指在系统崩溃或灾难发生时能够恢复数据或系统,数据备份是数据...
新软件建模技术是软件开发领域中...总的来说,新软件建模技术涵盖了从需求收集到软件实现的全过程,强调使用UML等工具进行可视化建模,遵循OOD原则,采用迭代和敏捷方法来应对复杂性和不确定性,以确保软件开发的成功。
8. ** SOLID原则**:SOLID是面向对象设计的五个基本原则,包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。这些原则指导我们编写易于维护和扩展的代码...
OOD原则是设计高质量、可维护软件的关键。本章系统地介绍了单一职责原则(SRP)、开放-封闭原则(OCP)、Liskov替换原则(LSP)、依存关系倒置原则(DIP)、接口隔离原则(ISP)等核心原则。遵循这些原则,可以帮助...
9. 在常用的 OOD 原则中,迪米特法则是一个对象应当对其他对象有尽可能少的了解,该原则与结构优化方法的低耦合原则是一致的。 10. 数据备份是数据容灾的基础,二者的目的都是为了在系统崩溃或灾难发生时能够恢复...
本题考查OOD原则中的迪米特原则及其与结构化方法中的P耦合原则的关系。迪米特原则提倡减少对象之间的耦合度,与结构化方法中的P耦合原则一致。 #### 十、数据备份与数据容灾的关系 **知识点:** 数据备份是数据...
"chp11-OOD原则.pptx"可能专门讨论面向对象设计的原则,如单一职责原则、开闭原则、里氏替换原则等,这些原则指导开发者写出高质量、易于维护的代码。 最后,"chp12-C++程序设计案例.pptx"会通过实际的编程例子来...
S - Single-responsiblity principle 单一责任原则 O - Open-closed principle 开发封闭原则 L - Liskov substitution principle 里氏替换原则 I - Interface segregation principle 接口分离原则 D - Dependency ...
OOD不仅涵盖了面向对象编程(OOP)的基本原则,如封装、继承和多态,还涉及了更高层次的设计原则和模式,旨在提高软件的模块性、可复用性和灵活性。 ### 面向对象设计的重要性 OOD的重要性在于它能够帮助开发者...