`
jiao851114
  • 浏览: 3244 次
  • 性别: Icon_minigender_2
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

对高内聚,低耦合的理解

阅读更多
最近编码的时候,总是在犹豫是把某个方法封装在一个类里,还是单独的封装成一个类。这让我突然想起内聚耦合这两个名词。

我们一直追求着,高内聚,低耦合。

对于低耦合,我粗浅的理解是:

一个完整的系统,模块与模块之间,尽可能的使其独立存在。

也就是说,让每个模块,尽可能的独立完成某个特定的子功能。

模块与模块之间的接口,尽量的少而简单。

如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。

这样有利于修改和组合。

对于高内聚,我粗浅的理解是:

在一个模块内,让每个元素之间都尽可能的紧密相连。

也就是充分利用每一个元素的功能,各施所能,以最终实现某个功能。

如果某个元素与该模块的关系比较疏松的话,可能该模块的结构还不够完善,或者是该元素是多余的。

内聚和耦合,包含了横向和纵向的关系。功能内聚和数据耦合,是我们需要达成的目标。横向的内聚和耦合,通常体现在系统的各个模块、类之间的关系,而纵向的耦合,体现在系统的各个层次之间的关系。

对于我在编码中的困惑,我是这样想的,用面向对象的思想去考虑一个类的封装。
一个方法,如何封装,拿到现实生活中来看,看这种能力(方法)是否是属于这类事物(类)的本能。
如果是,就封装在这个类里。
如果不是,则考虑封装在其它类里。
如果这种能力,很多事物都具有,则一定要封装在这类事物的总类里。
如果这种能力,很多事物都会经常用到,则可以封装成一个总类的静态方法。
分享到:
评论

相关推荐

    高内聚低耦合理解

    高内聚低耦合理解,系统的文字帮助你更快速的理解

    耦合和单例模式的理解

    1. 高内聚和低耦合:2. 单例模式和工厂模式:

    逆向工程中的大类图拆分方法

    根据面向对象设计中高内聚低耦合的设计原则,将紧耦合的类目划入同一个类图,而耦合度低的类目间实现分离.为了确保生成的类图大小合适,拆分方法对每个类图的大小进行限定,将每个类图的大小限定在预先定义的合理区间内...

    WDO 通用信息数据采集 v0.9

    程序逻辑易于扩展,采用VBS类实现了程序逻辑的高内聚低耦合,接口扩展灵活轻松。效率和灵活性,部分代码采用ASP内置组件实现,既保证了代码的“纯净”又有效提高了执行效率。VBS“正则表达式”,实现对采集数据的...

    Script.rar

    mvc的学习 理解与运用,在开放搓成中尽可能使每条逻辑清晰可查,高内聚低耦合

    我的计算器(.NET版,含源码)

    尽可能实现“高内聚,低耦合”原则,界面模仿windows自带的计算器,允许实时显示结果的小数精度计算,同时可以完成基本的连加、减、乘、除等功能,还可以有记忆的功能(MC、MR、MS、M+),另外为了更好的理解源码...

    数据打包发送方法

    如果我们能够很好地利用static的这些特性,书写高内聚低耦合,更具模块化的代码就不会显得象句口号;如果不能很好地理解和使用它,一切都只是空谈。下面来举个例子来说明static在实际应用可能会遇到问题。

    单片机代码自动生成工具

    单片机代码自动生成工具是针对STM32单片机学习成本高、底层代码设计...工程的软件设计采用高内聚低耦合的模块化设计框架,可实现面向对象的软件开发。主要代码提供了较为详细的注释,方便用户理解相应的程序实现逻辑。

    软件工程-填空题.pdf

    低内聚有偶然内聚、逻辑内聚、时间内聚。 6.为了便于对照检查,测试用例应由输入数据和预期结果两部分组成。 7.在结构化分析中,用于描述加工逻辑 ...... 的主要工具有三种,即:结构化语言、判定表和判定 树...

    计算机应用简历模板快速求职简历

    掌握面向对象编程的思想...有良好的编程习惯,能够编写高内聚松耦合的模块。有较强的团队合作精神。善于总结开发经验,能够合理的运用设计模式进行开发,热爱编程工作,并具有良好的自学能力,适应能力,做事积极性高。

    Vue相关面试题.pdf2023VUE面试题目+详解大全

    现了高内聚低耦合) 2.请简述你对 vue 的理解 Vue 是一套构建用户界面的渐进式的自底向上增量开发的 MVVM 框架,核心是关注视图层, vue 的核心是为了解决数据的绑定问题,为了开发大型单页面应用和组件化,所以 vue...

    可二次开发springmvc实现登陆.rar

    通过细致的模块化设计,确保了系统的高内聚、低耦合特性,为进一步的功能扩展提供了便利。系统实现了用户认证与授权的基础流程,并支持自定义的认证机制和权限控制,以适应不同场景的安全需求。界面友好、操作简洁,...

    计算机应用专业简历模板.zip

    计算机应用专业简历模板...有良好的编程习惯,能够编写高内聚松耦合的模块。有较强的团队合作精神。善于总结开发经验,能够合理的运用设计模式进行开发,热爱编程工作,并具有良好的自学能力,适应能力,做事积极性高。

    基于Java的校园智慧节水管理系统的设计与实现(论文+源码)-kaic.doc

    本着高内聚、低耦合的原则,我归纳出了校园智慧节水管理系统的具体功能模块,具体包括:设备管理模块、智慧节水模块、用户管理模块、异常上报模块、公告信息模块、用户管理模块、节水论坛模块、节水信息管理模块、...

    Java毕业设计-基于springboot开发的就业信息管理系统--论文-附毕设源代码+说明文档.rar

    源代码部分采用了模块化、高内聚低耦合的设计理念,易于理解和维护。通过Spring Boot框架的自动配置和依赖管理,大大简化了开发流程,提高了开发效率。同时,系统还集成了多种主流技术,如MyBatis、Redis、Spring ...

    Java毕业设计-基于springboot开发的图书商城管理系统-毕业论文(附毕设源代码).rar

    源代码部分则采用了模块化、高内聚低耦合的设计原则,使得代码结构清晰、易于维护。通过使用Spring Boot框架,项目能够快速搭建并集成各种所需的功能组件,提高了开发效率。同时,系统还采用了前后端分离的开发模式...

    C# Asp MVC 五层 .net 学生管理系统main.tar

    采用五层架构 ,符合高内聚,低耦合的设计规范。课程设计书里有 软件测试。 一.导入数据库 数据库文件一般在Data、DB或者App_Data文件夹内 有两种方法导入数据库,任选其一即可: 1.用sqlserver打开XXX.sql脚本,...

    最新SpringBoot项目分布式架构网上商城.zip

    - 系统设计考虑了低耦合性和高内聚性,便于未来的扩展和维护。 - 采用了Docker容器化部署,实现了快速部署和弹性伸缩。 3. **项目实战资源**: - 提供了全套项目源码,方便直接部署和使用。 - 包括完整的文档说明,...

    Java毕业设计-基于springboot开发的家政服务管理平台--论文-附毕设源代码+说明文档.rar

    平台通过Spring Boot框架构建,充分利用了Spring Boot的轻量级和快速开发的特点,使得整个系统具备高内聚、低耦合的优良特性。 在功能方面,平台涵盖了用户管理、家政人员管理、服务订单管理、服务评价管理等多个...

    我的C与C++的学习之路.rar

    为什么呢,我前面有文章说过,软件语言的发展过程,就是一个数据私有化的过程,大型工程应用,强调高内聚,低耦合,模块化设计,保持代码最大的灵活性和安全性。 这是现代工程化开发的核心和灵魂。 因此,利用C...

Global site tag (gtag.js) - Google Analytics