`
ohmygodlzl
  • 浏览: 21399 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

OOD之依赖倒置原则

阅读更多
这个系列是早前发布在部门wiki上的,引导组里的兄弟入门OOD,希望同样对刚刚走到OOD门前的同学有用。

    在我们目前的开发模式下--使用Spring面向接口编程,这个原则给我们的更多是思维方式上的指导。所以在这里只是简单介绍一下这个原则,不举我们系统中的例子说明了。

    先解释一下"依赖"这个词的含义,在软件世界里,引用、继承、实现(realization)、方法参数和本地变量引用都是一个对象对另一个对象的依赖,DIP原则告诉我们:

1、高层模块不应该依赖于底层模块,二者都应该依赖于抽象
2、抽象不应该依赖于细节,细节应该依赖于抽象

    这个原则中所说的倒置"不仅仅是依赖关系的倒置,它也是接口所有权的倒置",就是说,客户或者高层模块应该拥有接口,而服务或者底层模块应该实现该接口。按照这种思路,GatewayPayOrderDAO这个接口不应该属于technicalservice层,而应该属于domain层,因为它是domain层需要的一个服务,technicalservice层只是提供了这个服务的实现而已。按照David老师最初的设想,这样的接口应该放在独立的包中,客户和实现都依赖于它。

    依赖于具体并不总是危险的,如果这个具体的类/模块是稳定的,就可以依赖于它。
分享到:
评论

相关推荐

    OOD设计基本原则 面向对象设计必备

    OOD 设计基本原则包括 OCP 原则、里氏替换原则、依赖倒置原则、接口隔离原则、聚合与继承原则、单一职责原则、Separation of concerns Principle 和 Pareto Principle 等。 OCP 原则(Open-Closed Principle)是 ...

    软件设计的七大原则(OOD)

    其中包括SRP(单一职责原则)、OCP(开闭原则)、LSP(里氏替换原则)、ISP(接口分离原则)、DIP(依赖倒置原则)、CRP(组合/聚合复用原则)和PLK(最小知识原则)。 一、SRP(Single Responsibility Principle)...

    c# OOP/OOD

    1. **SOLID原则**:SOLID是五个面向对象设计原则的首字母缩写,包括单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则指导我们编写可维护、可扩展的代码。 2. **设计模式**:设计模式是...

    OOD原则 GRASP GOF

    5. **依赖倒置原则(Dependency Inversion Principle, DIP)**: 高层模块不应该依赖于低层模块,两者都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。这可以减少耦合,提高灵活性。 **...

    OOD.rar_ood

    7. **原则与指导方针**:OOD遵循一些基本原则,如 SOLID 原则,包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。这些原则有助于创建易于理解和维护的...

    OOD启思录(高清)

    8. ** SOLID原则**:SOLID是面向对象设计的五个基本原则,包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。这些原则指导我们编写易于维护和扩展的代码...

    面向对象设计的SOLID原则 .docx

    SOLID 原则是面向对象设计和编程(OOD&OOP)中几个重要编码原则的首字母缩写,分别是单一责任原则、开放封闭原则、里氏替换原则、依赖倒置原则和接口分离原则。这些原则是非常基础而且重要的面向对象设计原则,理解...

    Uncle Bob OOD Principles

    5. **依赖倒置原则(Dependency Inversion Principle, DIP)**:高阶模块不应该依赖低阶模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。这意味着我们应该依赖于接口或抽象类,而不是具体的实现...

    OOA基本原则

    本文将详细介绍OOA基本原则,其中包括逐层调用原则、单向调用原则、针对接口编程、依赖倒置原则、封装变化原则、开放-关闭原则和单一归属原则。 逐层调用原则和单向调用原则是OOA中最基本的两个原则。逐层调用原则...

    OOA、OOD和UML

    4. **设计原则**:如单一职责原则、开放封闭原则、里氏替换原则、依赖倒置原则等,它们指导良好的设计实践。 5. **设计模式**:如工厂模式、单例模式、观察者模式等,它们是解决常见设计问题的通用解决方案。 6. **...

    99丨总结回顾:在实际软件开发中常用的设计思想、原则和模式1

    例如,单一职责原则有助于类职责的合理划分,开闭原则可以指导我们如何设计可扩展的系统,而依赖倒置原则则常用于框架设计,通过依赖注入实现松耦合。 总的来说,理解并熟练应用这些设计思想、原则和模式,能够显著...

    面向对象的设计原则详解

    4. 依赖倒置原则(Dependency Inversion Principle, DIP): 这个原则有两个部分:A. 高层模块不依赖低层模块,都依赖于抽象;B. 抽象不依赖于具体实现,具体实现依赖于抽象。这样可以降低模块间的耦合,使得系统更...

    Interface Segregation Principle

    ISP进一步细化了依赖倒置原则,通过隔离接口来减少高层模块和低层模块之间的耦合。 统一建模语言(Unified Modeling Language, UML)作为设计面向对象系统的一种标准语言,在文档化面向对象设计方面扮演着重要角色...

    swift-面向对象设计的设计原则和设计模式

    面向对象设计的原则主要有四个:单一职责原则(Single Responsibility Principle, SRP)、开闭原则(Open-Closed Principle, OCP)、里氏替换原则(Liskov Substitution Principle, LSP)和依赖倒置原则(Dependency...

    面向对象七大基本设计原则.pdf

    4. 依赖倒置原则(Dependency Inversion Principle, DIP):高层模块不应该依赖于低层模块,两者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。这意味着应该依赖于接口或抽象类,而不是具体的实现。...

    面向对象设计的基本原则

    5. **依赖倒置原则 (Dependency Inversion Principle, DIP)** - 高层次的模块不应该依赖于低层次的模块,两者都应该依赖于抽象。抽象不应该依赖于具体实现,而具体实现应该依赖于抽象。这样可以减少模块间的耦合,...

    ood-solid:面向对象设计的SOLID原理

    SRP)、开闭原则(Open-Closed Principle, OCP)、里氏替换原则(Liskov Substitution Principle, LSP)、接口隔离原则(Interface Segregation Principle, ISP)和依赖倒置原则(Dependency Inversion Principle, ...

    讲述了面向对象设计的原则

    依赖倒置原则主张高层模块不应该依赖于低层模块,二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。通过这种方式,可以有效地降低各个组件之间的耦合度,使得系统更加灵活且易于扩展。 ### 三、...

    面向对象设计原则:突破软件工程学习的质的飞跃

    - **可插拔性**:通过应用开闭原则、里氏替换原则、依赖倒置原则和合成/聚合复用原则,可以更容易地替换或添加组件,而不会影响系统的其他部分。 #### 开放-封闭原则(OCP) 开放-封闭原则强调软件实体应该是可...

    OOD原理Swift:Bob基于Bob叔叔的文章的OOD原理(SOLID)

    这些原则源自Bob大叔(Uncle Bob)的经典文章,他强调了五个主要原则,它们分别是单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。** ### 单一职责原则...

Global site tag (gtag.js) - Google Analytics