Author: Anders小明
任何一个有一定规模系统,通常会把系统做一定分解降低分析设计开发的难度,模块划分是一个比较常见的方式。
而在模块的划分,及其分析设计的实践中,模块和模块的交互接口最为重要,通常我们认为这些接口应该通用稳定,然而如何设计每个模块对外提供的接口却是一个不易的问题。
实践中,极有可能出现两种状况:接口维护失控或者过严而死板(而影响开发)。接口失控是因为接口的维护太过随意,因为A模块的需要就轻易在B模块中添加一个接口(方法),导致该接口(方法)非独立性(基本上只给模块A的这个功能点使用),或者是接口的控制过严,导致或者工作效率不高,或者接口的易用性不好。
原因在于:接口是两个模块间的耦合,而发生的种种问题在于模块耦合太过紧密;同时实践中,把模块对外提供的接口,与模块需要实现的外部模块的接口混为一谈。
根据指导原则:为了降低耦合只有在中间加一层。一种可行的实践是:不轻易为模块设计对外提供的接口(方法),除非是通过重构得来的;模块对外提供两种类:一个是需要外部模块实现的接口(接口设计从本模块需要出发,当然每个接口尽管是为某个功能点服务,但也要注意其在模块内通用性),另一个是其它模块要求本模块实现的接口的实现类。
即:A模块拥有一些需要B模块实现的接口(A模块对B模块的要求),而B模块中也有要求A模块实现的接口,因而A有这些接口的实现类。
这种实践方式的好处在于:模块的接口就多了一层隔离降低了耦合,把接口的通用性和接口的适应性分离,又明确了模块的边界,使得接口在日后的优化和调整有了缓冲。
分享到:
相关推荐
基于ADS8341与ARM的数据采集模块接口设计.pdf
基于C8051F410的液晶显示模块接口设计与实现,王雪琴,赵振纲,本文以C8051F410单片机与CA12832D的接口设计为例,详细介绍了中文图形点阵液晶显示模块与单片机的硬件接口设计方案,并给出了串行模式�
C8051F单片机与RT12864M液晶显示模块接口设计,陈建权,丁彦闯,介绍了RT12864M带汉字库的液晶显示模块与C8051F020单片机的两种接口方式。分析了在5V系统中C8051Fxxx的电平转换原理,给出了硬件原理图以�
can总线通用接口模块设计
PHP---API 接口设计教程 主要是接口php代码
内容概要: 本文主要介绍了LoRa通信技术及模块的工作...建议首先学习LoRa技术原理,然后关注模块接口设计及使用方法,最后结合实际应用场景将LoRa技术运用到物联网系统中,通过知识点串联与编程实践来全面掌握LoRa技术。
TMS320F240DSP与点阵字符型液晶显示模块的接口设计,了解LCD接口及DSP控制实现方法
简单实现网上购物模块,有购物车、购物项、订单、订单项。
COMe模块接口规范,2.1版本
毕设旨在设计和开发一个基于JSP SMART...3. 详细设计阶段:在概要设计阶段基础上,我们将会进一步进行详细设计,包括数据库设计、模块接口设计、算法设计等。 4. 编码实现阶段:在详细设计阶段完成后,我们将会进行编
APP首页模块自定义接口分析与设计.pdf
本文提出了基于DSP内嵌增强型CAN控制器(ECAN)模块的智能总线接口设计方案。该设计创新性地采用了ADI公司最新发布的ADM3053芯片
模块接口 API 的两种设计方案
VHDL液晶显示接口设计 VHDL液晶显示接口设计 VHDL液晶显示接口设计
基于此,我提出了一个基于tc35i模块与CC2430模块的通信接口设计的解决方案。该方案由于融合了无线和有线两种数据传输方式,保证了数据在两个模块间的传输可靠性的同时也将进一步扩展它在工业、农业、医疗和交通运输...
基于USB接口的数据采集模块的设计与实现
基于单片机液晶显示模块的接口设计,吕志信,魏晋宏,介绍了GJ12864点阵式液晶显示模块和单片机MSP430F149的功能特点以及MSP430F149和液晶显示模块之间的接口设计。通过适当的电路设计解决了电
单片机控制蓝牙模块硬件接口设计.pdf
FLAsH程序存储器电路设计,IZc模块接口设计!电源模块设计和时钟电路设计等;系统硬件设计采用了模块化的设计方法,使系统具有良好的 可扩展性;在PCB设计方面,考虑到高速信号完整性和电磁兼容性的问题,设计时严格遵循了...
绍基于ISA总线的三路旋转变压器/数字转换模块接口电路的设计及应用。接口电路采用三个旋转变压器/数字转换模块分别控制三路测角信号的数字量转换,测角的时间周期短,精度高,且输出顺序不受硬件电路的限制,既可以三个...