`
jiagou
  • 浏览: 2594624 次
文章分类
社区版块
存档分类
最新评论

Darren大话设计模式之依赖倒转原则

 
阅读更多

各位博友晚上好,又到了晚上的这个时间,感谢大家一直对Darren博客的支持,希望这篇文章对你有所帮助:

这几天一直在看设计模式:简单工厂模式,策略模式,单一职责原则,开放封闭原则,今天我学习了依赖倒转原则,再此和大家分享一下学习心得。

抽象不应该依赖细节,细节应该依赖于抽象。说白了就是针对接口编程,而不是针对实现编程。

依赖倒转原则:

高层模块不应该依赖与低层模块,两个都应该依赖抽象。

抽象不应该依赖细节,相反细节应该依赖于抽象。

在这里我们还要顺便讲一下里氏带换原则

定义:子类型必须能够替换他们的父类型。只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被复用,而子类可以在父类的基础上增加功能。

由于里氏代换原则才使得之前我们讲的开放-封闭原则成为了可能。

由于子类型的可替换性才使得父类型的模块在无需修改的情况下就可以得到扩展。

依赖倒转原则就是谁也不依赖谁,双方只是约定好接口就可以了。

哈哈,写这个还真的不容易啊,各种术语,很绕口。希望和大家多多交流。Darren的空间

分享到:
评论

相关推荐

    Darren设计之美,设计模式应该怎么学习

    Darren设计之美,特别关注的是如何理解和运用设计模式来提升代码的可读性、可维护性和复用性。这个主题的核心是教会开发者如何以一种系统化的方式思考和解决问题,从而编写出优雅且高效的代码。 设计模式并不是特定...

    javascript 设计模式.docx

    ### JavaScript设计模式详解 #### 一、引言 在软件工程领域,设计模式是指针对某一类问题的最佳实践或解决方案的总结。对于JavaScript开发者而言,掌握常见的设计模式不仅可以提高编程效率,还能增强代码的可维护...

    darren_comm:通用代码

    - 项目中的代码很可能遵循了良好的设计原则,如单一职责原则(SRP)、开闭原则(OCP)和依赖倒置原则(DIP)等。 - 设计模式是解决常见软件设计问题的经验总结,例如工厂模式、单例模式、观察者模式等可能在项目中...

    essayJoke-1:红橙Darren仿写内涵段子

    【标题】"essayJoke-1:红橙Darren仿写内涵段子"是一个与编程相关的项目,由用户红橙Darren创作,旨在模仿内涵段子的风格,结合编程领域的幽默元素,创建一种独特的IT文化体验。这个项目可能包含了一系列以编程为主题...

    01 Darren's Nuggets周记

    为了防止你不知道,在 LabVIEW 8.0 中的 Comparision 函数板中有一个 “Empty Array?”函数。你可以连一个任何类型任何维数的数组,它会返回一个布尔值显示连接的数组是否为空。这样就比我们之前做的事情要体面多了...

    Design Patterns by Tutorials Learning design patterns in Swift 4.2, 2nd Edition

    本书《Design Patterns by Tutorials Learning design patterns in Swift 4.2, 2nd Edition》不仅旨在教授读者如何在Swift 4.2中应用设计模式,而且还介绍了作者和编辑的背景,以及对于家人和朋友的感激之情。...

    Darren-s-project

    【Darren-s-project】是一个与HTML相关的项目,很可能是一个网页开发的练习或示例...通过查看这些文件,我们可以更深入地了解Darren是如何运用HTML来构建网页的,包括他的布局策略、交互设计以及对Web标准的遵循程度。

    darren9080.github.io

    darren9080.github.io

    Learn_darren_eassy_joke

    "Learn_darren_eassy_joke"这个标题可能是指一个关于Darren的幽默故事或笑话,结合描述和标签,我们可以推测这是一个关于学习Java的教程或者示例项目,其中可能包含Darren分享的一些有趣或轻松的学习方法。...

    Darren-greenhand.github.io

    【Darren-greenhand.github.io】是一个个人网页项目,通常在GitHub上托管,表明它是一个开源的个人简历或者博客网站。这个项目的名称暗示了它属于一个名叫Darren的新手程序员,他在GitHub上展示他的作品和技能。这个...

    A Practical Guide to Computer F - Darren R. Hayes

    电子取证行业一部知识点全面的书籍,适合电子取证不同阶段的人员阅读

    The-Compound-Effect-By-darren-Hardy.pdf

    This powerful, practical book, based on years of proven and profi table experience, shows you how to leverage your special talents to maximize the opportunities surrounding you. The Compound Effect is...

    通讯录-快读滑动

    - 自定义侧边栏样式,如颜色、字体大小,以适应应用的整体设计。 - 可以选择显示所有字母,或者只显示出现过的首字母,以节省空间。 6. **测试与调试**: - 确保在不同设备和API级别上进行测试,确保兼容性和...

    《AJAX实战》

    内容提要 本书是目前Ajax领域最为全面深入的一本著作,其中不仅有对于基础知识的介绍,还有对于Ajax开发中重大的体系架构问题的深入探讨,总结了大量Ajax开发中的设计模式,并讨论了框架、安全性与性能等等。...

    深入解析Spring+MVC与Web+Flow.pdf

    《深入解析Spring MVCgn Web Flow》还介绍了Spring 框架的设计模式,以及如何将同样的设计和技术应用到读者自己的代码中。 《深入解析Spring MVCgn Web Flow》适合各层次Spring Web 程序员阅读。 编辑推荐 《深入...

    darren_budget_tracker

    单元18 PWA作业:在线/离线预算跟踪器 向我们现有的Budget Tracker应用程序中添加功能,以允许脱机访问和功能。 无论有没有连接,用户都可以在他们的预算中增加支出和存款。 脱机输入事务时,它们应在重新联机后...

    下拉刷新ScrollView

    在iOS开发中,"下拉刷新"是一种常见的用户交互功能,它允许用户通过向下滚动视图来触发数据的更新。ScrollView是苹果提供的一个基础视图组件,用于展示超过单屏内容的滚动界面。本资源提供的就是一个实现了下拉刷新...

    JSP中发送邮件的两个包

    要实现这一功能,我们需要依赖特定的库,这两个关键的JAR包——`mail.jar`和`activation.jar`,就是Java发送邮件的核心组件。 `mail.jar`是JavaMail API的实现,它提供了一组用于创建、发送和接收电子邮件的接口和...

Global site tag (gtag.js) - Google Analytics