如何提高代码的扩展性(2)

简介: 如何提高代码的扩展性(2)

三、什么是高内聚、低耦合


image.png


模块就是从系统层次去分成不同的部分,每个部分就是一个模块!分而治之, 将大型系统的复杂问题,分成不同的小模块,去处理问题!


耦合:主要是讲模块与模块之间的联系


image.png


例如:如果模块A直接操作了模块B的数据,这种操作模块与模块之间就为强耦合,甚至可以认为这种情况之下基本算没有分模块!如果A只是通过数据与B模块交互,这种我们称之为弱耦合!微服务独立的模块,方便去维护,或者写单元测试等等...如果木块之间的依赖非常严重,将会非常不易于维护。


内聚:主要指的是模块内部【东西聚合在一起形成了一个模块】例如方法,变量,对象,或者是功能模块。



image.png


模块内部的代码, 相互之间的联系越强,内聚就越高, 模块的独立性就越好。一个模块应该尽量的独立,去完成独立的功能!如果有代码非得引入到独立的模块,建议拆分成多模块!低内聚的代码,不好维护,代码也不够健壮。


四、软件设计的目的


image.png


1、如何评价代码的质量


最重要的是:灵活性;可扩展性;可维护性;可读性。


image.png



相关文章
|
Shell
Gitee 如何自动部署 Pages?还是用 GitHub Actions!
在上篇《一篇教你代码同步 GitHub 和 Gitee》中,我们使用 GitHub Actions 解决了 GitHub 代码自动同步 Gitee 的问题,但我们的博客仓库代码同步到 Gitee 后,并不能像 GitHub 一样自动部署 Pages,如果不使用付费的 Gitee Pages Pro 服务,那我们该怎么实现 Gitee 自动部署 Pages 呢?
1090 0
Gitee 如何自动部署 Pages?还是用 GitHub Actions!
|
Shell 网络安全 Android开发
如何adb connect公网的安卓设备
如何adb connect公网的安卓设备
|
存储 Ubuntu 关系型数据库
kail常用命令(未整理)
kail常用命令(未整理)
288 0
|
Web App开发 前端开发 Java
|
Linux 数据安全/隐私保护 Shell
CentOS 创建SVN 服务器,并且自动同步到WEB 目录
CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报  分类: linux(5)  一、安装Subversion #yum ...
1467 0
|
4天前
|
人工智能 JSON 监控
Claude Code 源码泄露:一份价值亿元的 AI 工程公开课
我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。
3891 8
|
15天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
11577 131
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
3天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
1394 5
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
14天前
|
人工智能 IDE API
2026年国内 Codex 安装教程和使用教程:GPT-5.4 完整指南
Codex已进化为AI编程智能体,不仅能补全代码,更能理解项目、自动重构、执行任务。本文详解国内安装、GPT-5.4接入、cc-switch中转配置及实战开发流程,助你从零掌握“描述需求→AI实现”的新一代工程范式。(239字)
7837 139