当前位置: 首页 > news >正文

详解过程内聚、时间内聚、顺序内聚、逻辑内聚

在软件工程中,模块的内聚性描述了模块内部各个元素之间的关联程度,内聚性越高,模块通常越容易理解、维护和复用。

1. 过程内聚

  • 定义
    过程内聚指的是模块内的各个操作虽然不一定在数据上有直接的依赖关系,但它们被组合在一起是因为必须按照某个既定流程来完成一个整体任务。

  • 特点

    • 操作之间存在一个预设的执行顺序。
    • 各步骤可能并不共享数据或逻辑上的直接联系,仅仅是为了满足执行流程。
  • 举例
    一个函数中先进行输入数据的校验,再进行数据转换,最后进行数据输出。虽然每个步骤的内部逻辑不同,但由于它们按照固定流程依次执行,所以形成了过程内聚。

2. 时间内聚

  • 定义
    时间内聚是指模块中那些在同一时间点或同一阶段执行的操作被放在一起,即使这些操作在功能上可能彼此独立。

  • 特点

    • 操作之间并不一定有数据传递或逻辑依赖。
    • 常见于系统的启动、初始化、或结束时需要执行的一系列操作。
  • 举例
    程序启动时需要执行的初始化任务,如加载配置、建立数据库连接、初始化日志系统等,这些操作由于都发生在程序启动阶段,因此常常被组合到一个初始化模块中。

3. 顺序内聚

  • 定义
    顺序内聚指的是模块中各个操作之间具有明确的数据依赖关系,一个操作的输出直接作为下一个操作的输入,从而形成连续的处理链。

  • 特点

    • 各操作之间数据流清晰,逻辑紧密。
    • 模块的整体功能往往是一个连续的处理过程,执行顺序严格且不可拆分。
  • 举例
    数据处理流水线:先从外部获取数据,然后对数据进行清洗、转换,最后生成报告。每一步骤的输出是下一步的输入,整体构成了一个连续的顺序流程。

4. 逻辑内聚

  • 定义
    逻辑内聚是指模块中包含了一系列功能上相关但实现上各自独立的操作,这些操作通常在逻辑上归属于同一类,但在具体执行时通过某种控制机制(如参数或标志)来决定具体调用哪一部分。

  • 特点

    • 模块中包含多个逻辑相关但彼此独立的功能。
    • 常见于将多个相似操作(例如错误处理、日志记录、数据格式转换等)放在同一个模块中,由外部参数决定具体行为。
    • 内聚性较低,因为模块内各部分之间缺乏足够紧密的依赖关系。
  • 举例
    一个通用的“处理函数”可能包含了多种不同的处理逻辑,比如根据不同的错误代码调用不同的错误处理子模块。这些子模块在逻辑上属于错误处理范畴,但它们之间缺乏数据或执行顺序的内在联系。

总结

  • 顺序内聚:强调数据依赖和连续处理,模块内部的操作彼此紧密联系,是内聚性较高的一种形式。
  • 过程内聚:强调固定的执行步骤,虽然步骤之间可能不直接依赖数据,但它们被安排成一个固定流程。
  • 时间内聚:基于时间或阶段的相关性将操作组织在一起,常用于初始化或清理任务。
  • 逻辑内聚:基于逻辑上相似的功能将操作组合,但这些操作之间实际联系较弱,容易导致模块内部功能分散。

相关文章:

  • OpenCV旋转估计(1)用于估计图像间仿射变换关系的类cv::detail::AffineBasedEstimator
  • 8.2《二力平衡》
  • 好看的网络安全登录页面 vue http网络安全
  • 重要重要!!改进求取Fisher矩阵的方法: 加权正则化Fisher矩阵
  • 蓝桥备考--必考题型--广度优先搜索bfs
  • 带旋转的目标标注工具-X-AnyLabeling
  • 【pytest框架源码分析五】pytest插件的注册流程
  • 基于Netty实现高性能HTTP服务的架构解析
  • 设备健康管理:给工业设备装上 “智能体检中心”—— 从故障救火到全生命周期守护
  • 基于SpringBoot的“ERP-物资管理”的设计与实现(源码+数据库+文档+PPT)
  • WPF 开发从入门到进阶(五)
  • shell 脚本搭建apache
  • MCP(Model Context Protocol)的介绍与开发初体验
  • Java面试黄金宝典4
  • Clion远程开发配置
  • 【QA】C和C++有哪些常用的调用约定
  • 记录一次,rabbitmq开启stomp插件之后,还是连不上15674端口的问题
  • Baklib企业CMS元数据与协作管理优化
  • Java Spring 中循环依赖的解决之道
  • npm error gyp info
  • 白玉兰奖征片综述丨国产剧集创作的此消彼长
  • 欢迎回家!神十九返回舱成功着陆
  • 体重管理门诊来了,瘦不下来的我们有救了?|健康有方FM
  • 俄伏尔加格勒机场正式更名为斯大林格勒机场
  • 解放日报:持续拿出排头兵姿态先行者担当
  • 中国防疫队深入缅甸安置点开展灾后卫生防疫工作