依赖倒换原则(DIP)
要依赖于抽象,不要依赖于具体实现。DIP跟另一种说法含义相近:面向接口编程。
不知道何时有“层”这个说法,尽管你不会一眼看出XX软件分为几个层,但是确实这样的分层是有理由的,分开即耦合度降低,各司其责。你可以想想你所在公司的管理制度,那是一个金字塔模型。上层是高层管理人员,它们下发的命令直接影响最底层的工人,而最底层工人具体的工作内容并不影响上面的高层管理人员。商务逻辑层不能依赖于实现层,公司的架构师要负责商务逻辑层的维护,底层coder负责实现层,公司不可能将这种逻辑依赖于实现层,不仅仅是coder和架构师的素质差别,更重要的是这根本就是一个错误的逻辑。
依赖倒换原则是COM、CORBA、JavaBean以及EJB等架构设计模型背后的基本原则。
依赖的种类:零耦合关系(两个类没有发生任何相互引用)、具体耦合关系(两个具体类直接引用对方的具体类型)、抽象耦合关系(两个类的引用利用其抽象类或者接口来实现,这是DIP的核心)。
怎么实现依赖倒换原则?实现层要依赖于抽象层,那么所有的商务逻辑必须在抽象层制定好,而且要更改实现层的实现方式时,必须保证抽象层不做任何改变。通过定义抽象类和接口来实现商务逻辑的集中控制,通过面向接口编程来保证当实现层改变实现方式时,抽象层的商务逻辑不做改变。针对接口编程意思是说:应当使用抽象类和接口进行变量的类型声明、参量的类型声明、方法的返还类型声明以及数据类型的转换等。
模板方法直观的为我们解释了通过定义抽象类和接口来实现商务逻辑的集中控制,一般通过继承抽象类来得到抽象类具体方法的使用权限,通常这些方法的定义需求是统一的商务逻辑定义。迭代子模式也做到了这点,它将公用的迭代功能定义为一个接口,实现了这个接口的集合类表示支持迭代,使用迭代子接口声明的类型,在实现过程中,当集合类发生改变时,它也能正常工作,这就是所谓的抽象耦合关系,只对迭代接口的引用。
坚持DIP原则会生产出大量的类,它们大多都是抽象类和接口,怎么处理好这种引用关系是值得思考的。另外,依赖倒换原则假定所有的具体类都是会变化的,但是实际情况中不总是这样,这需要我们实际情况实际解决。
分享到:
相关推荐
2. **时钟子网的配置**:所有需跟踪同一时钟源的网元应划入同一子网,遵循“时钟跟踪链不宜过长”的原则,以防时钟精度衰减。特别注意,需将基于SSM(Synchronous Status Message,同步状态消息)时钟保护的网元纳入...
"1588v2 时钟配置及倒换指导书" 本文档是关于 1588v2 时钟配置及倒换的指导书,主要面向 5G 网络优化网优工程师。该文档分四个部分,分别讲解了 1588v2 时钟单站配置、批量配置方法、时钟配置后是否可用及偏差核查...
### SNCP保护倒换故障处理:深度解析与实践指南 #### 背景知识与原理概览 在现代通信网络中,确保数据传输的稳定性和安全性是至关重要的。SNCP(SubNetwork Connection Protection,子网连接保护)作为一种关键的...
1 误码倒换概述 2 误码倒换配置逻辑简介 3 误码告警阈值设置指导 4 配置段层误码倒换 5 配置误码联动IGP路由 6 配置Trunk接口误码倒换 7 配置RSVP-TE隧道误码倒换 8 配置PW误码倒换 9 配置L3VPN误码倒换 10 (可选)...
自动倒换的发生依赖于交叉板的状态(在位/离位)、交叉板发送的系统时钟状态以及系统帧头状态。这些条件满足时,系统将自动进行主备切换。 7. 主备倒换常见问题及解决 在实际操作中,可能会遇到倒换命令响应延迟、...
双归属倒换操作
"网络游戏-实现保护倒换的无源光网络系统及保护倒换方法"这个主题涉及到的是如何在PON网络中确保游戏数据传输的稳定性和可靠性,以提供流畅的游戏体验。以下将详细介绍这一系统的实现和保护倒换方法。 无源光网络由...
基于FPGA主备倒换的电路设计与实现.pdf
ITU-T G.8031 以太网线性保护倒换技术要求 ITU-T G.8031 是一项关于以太网线性保护倒换技术的国际标准,旨在确保以太网传输的可靠性和安全性。该标准规范了以太网线性保护倒换技术的要求和实施细则,涵盖了监测方式...
单板倒换电路是通信系统中的重要组成部分,尤其在电信网络和数据通信中扮演着关键角色。这种电路设计用于在主用单元发生故障时,自动或手动切换到备用单元,以确保服务的连续性和可靠性。单板倒换电路通常应用于...
波导开关远程倒换装置的设计与思考涉及到的关键技术和应用包括FPGA硬件技术、硬件开发、远程控制技术等。以下是对波导开关远程倒换装置设计和思考的知识点汇总。 首先,波导开关是卫星地球站上行主备系统的关键组件...
线路保护倒换是实现这一目标的关键技术之一,它能够在发生故障时迅速恢复通信服务,保障数据的连续传输。 线路保护倒换主要包含三种自愈技术:线路保护倒换、ADM(Add/Drop Multiplexer,分插复用器)自愈环和DXC...
kettel 数据库倒换工具,使用方法,编程开发接口,支持引用包,定制化开发
在现代电信网络中,备份和倒换功能是保障服务连续性和可靠性的重要技术。"电信设备-实现备份和倒换功能的通信系统及方法"这一主题深入探讨了如何在通信系统中设计和实施这些功能,以确保数据和服务在主路径故障时...
4. 故障处理原则:在确定设备故障原因前,维修人员不得随意解体设备,以免加重问题。 5. 记录与评价:维修完成后,维修人员需在作业票上详细记录维修过程、更换的零件及工时,并由操作工确认。同时,维修人员还需对...
1 误码倒换概述 2 误码倒换配置逻辑简介 3 误码告警阈值设置指导 4 配置段层误码倒换 5 配置误码联动IGP路由 6 配置Trunk接口误码倒换 7 配置RSVP-TE隧道误码倒换 8 配置PW误码倒换 9 配置L3VPN误码倒换 10 (可选)...
在IT行业中,网络保护倒换是一项至关重要的技术,特别是在网络游戏领域。这个压缩包“网络游戏-控制网络保护倒换的方法及系统.zip”包含了关于这一主题的详细资料,主要聚焦于如何确保网络游戏的稳定性和高可用性。...
网络游戏中的双向线路倒换环网络系统是一种为了保证网络服务稳定性和高效性而设计的网络架构。这个系统主要用于大型在线游戏,以确保即使在网络故障发生时,玩家的游戏体验也能尽可能不受影响。下面将详细阐述双向...