`

OO原则

阅读更多

在OO设计领域,我们知道前人总结了不少的经验,许多的经验在现代软件工程过程中已经被认为是原则来遵守。下面笔者摘抄几项下文涉及到的OO原则的定义。

OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭。我的理解是,对于一个已有的软件,如果需要扩展,应当在不需修改已有代码的基础上进行。

DIP(依赖倒转原则,Dependence Inversion Principle):要针对接口编程,不要针对实现编程。我的理解是,对于不同层次的编程,高层次暴露给低层次的应当只是接口,而不是它的具体类。

A. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象

B. 抽象不应该依赖于细节,细节应该依赖于抽象


LoD(迪米特法则,Law of Demeter):只与你直接的朋友通信,而避免和陌生人通信。众所周知类(或模块)之间的通信越少,耦合度就越低,从而更有利于我们对软件的宏观管理。老子论“圣人之治”有相同的思想,《老子》云:“是以圣人之治,虚其心,实其腹,弱其志,常使民无知无欲。”,又云:“小国寡民,邻国相望,鸡犬之声相闻,民至老死,不相往来。”。佩服我们的老祖宗,N千年前就想到了西方N千年后才想到的东西,同时也佩服《java与模式》的作者阎宏,可以用中国传统哲学思想这么生动的说明这一软件设计原则。

 

LSP(里氏替换原则)所有引用基类的地方必须能透明地使用其子类的对象。

 

 

SRP(单一职责原则)只能让一个类有且仅有一个职责。

ISP(接口分离原则)接口的设计应该遵循最小接口原则,不要把用户不使用的方法塞进同一个接口里。

 

分享到:
评论

相关推荐

    读书笔记:OO原则详述.zip

    读书笔记:OO原则详述

    OO设计原则 -- OO设计的 DIP依赖倒置原则

    ### OO设计原则 -- OO设计的 DIP依赖倒置原则 #### 概述 在软件工程领域,特别是面向对象设计中,依赖倒置原则(Dependency Inversion Principle, DIP)是六大设计原则之一,由著名软件架构师Robert C. Martin提出...

    OO设计原则总结

    ### OO设计原则总结 #### 什么是设计原则? 设计原则是一系列指导软件开发的基本准则,遵循这些原则可以帮助开发者构建出更加灵活、易于维护和扩展的软件系统。这些原则旨在解决常见的软件设计问题,如耦合度高、...

    Flask-restful-api:遵循OO原则,使用SQLAlchemy,jwt身份验证进行简单的API REST

    Flask-restful-api:遵循OO原则,使用SQLAlchemy,jwt身份验证进行简单的API REST

    OO设计原则-里氏替换原则

    ### OO设计原则——里氏替换原则详解 #### 一、引言 面向对象设计原则(Object-Oriented Design Principles)是一套指导软件开发者如何更好地设计类、接口等面向对象元素的原则集合,旨在提高代码的可复用性、可...

    design patterns elements of reusable object-oriented software

    千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。很多时候,在设计出现两难情况时我们必须回归到OO原则,以方便判断取舍。 可以这么说:OO原则是我们的目标,而设计模式是我们的做法!

    Head First 设计模式(中文版)

    千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到OO原则,以方便判断取舍。可以这么说:OO原则是我们的目标,而设计模式是我们的做法...

    uml建模讲义 OO方法、RUP与UML建模

    本文将深入探讨OO原则、UML表示法以及RUP建模过程。 一、OOAD与UML表示法 面向对象的原则包括抽象(Abstraction)、封装(Encapsulation)、模块化(Modularity)和分层(Hierarchy)。这些原则旨在创建灵活、可...

    Head First 设计模式(中文完整版+附书源码)part1

    千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到OO原则,以方便判断取舍。可以这么说:OO原则是我们的目标,而设计模式是我们的做法...

    GRASP原则/模式

    GRASP模式,OO原则和设计模式的基础,原创不易,请珍惜下载

    head first 设计模式

    千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到OO原则,以方便判断取舍。可以这么说:OO原则是我们的目标,而设计模式是我们的做法...

    实践解析面向对象技术理论

    分析过程中,OO原则如单一职责原则、开闭原则等,以及设计模式(如工厂模式、观察者模式等)将发挥作用。通过OO分析,我们可以将系统分解为多个独立的对象,每个对象负责特定的功能,从而提高代码的模块化和可维护性...

    head_first_design_patterns.pdf Head First 设计模式(英文原版 非扫描)

    千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到OO原则,以方便判断取舍。可以这么说:OO原则是我们的目标,而设计模式是我们的做法...

    面向对象编程,OO设计的五大原则

    在本文中,我们将详细探讨OOP设计中的五大原则:单一职责原则(Single Responsibility Principle,简称 SRP)、开放封闭原则(Open-Closed Principle,简称 OCP)、里氏替换原则(Liskov Substitution Principle,...

    java oo 设计原则

    这些原则包括单一职责原则(SRP)、不要重复代码原则(DRY)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)以及接口隔离原则(ISP)。下面将详细阐述这些原则及其重要性。 1. 单一职责原则(Single ...

    OO设计原则总结.doc

    ### OO设计原则精要解析 #### 封装变化:Encapsulate what varies 在软件设计中,变化是不可避免的。封装变化原则强调将系统中易变的部分与不变的部分分离,通过封装变动点,使得系统其他部分不受其影响,从而保持...

    深入浅出面向对象分析与设计

    在本书中,你将学到:, ·使用诸如封装(encapsulation)与委派(delegation)的 OO 原则建立灵活的应用程序。, ·使用开闭原则(Open-Closed Principle)与单一责任原则(Single-Responsibility Principle)提升...

    Java Design Objects UML Process

    1.4章节的结论部分总结了前面章节的内容,强调了OO原则、模式在实际开发中的价值,以及它们如何与UML相结合,为系统设计提供强大的工具。 接下来,2.0章节引入了UML,一种可视化编程语言。UML不仅是一种描述系统...

    多媒体件类图PPT学习教案.pptx

    - 掌握OO原则的原理和应用,改变传统的编程习惯。 - 学习并熟练使用Rational Rose等建模工具。 - 熟练掌握MVC设计模式,这是软件设计中常用的一种架构模式,分离了应用程序的数据模型、用户界面和控制器逻辑。 -...

Global site tag (gtag.js) - Google Analytics