高内聚

高内聚提供了更好的可维护性和可复用性
1.确定模块要完成的功能点
2.除了完成本职功能外,不提供其他功能
3.要满足可读性、可扩展性、可复用、可维护性要求
4.向外提供服务时最好是面向接口编程
举例:系统中存在A,B两个模块进行交互,如果修改了A模块,不影响B模块的工作,那么认为A模块有足够的内聚

低耦合

低耦合是用来度量模块与模块之间的依赖关系
1.低耦合要求模块之间的依赖、感知、连接尽量低
2.低耦合的设计要求能适应变化
3.模块间的低耦合体现在不同模块的内部的高内聚要求,模块功能尽量独立
4.模块间的依赖尽量通过接口,对象组合优于继承
举例:电器与插座之间是低耦合关系,就算更换了不同的插座,电器依然可以正常工作

简单理解低耦合高内聚相关推荐

  1. 低耦合高内聚什么意思?

    低耦合高内聚 很多小伙伴不理解低耦合高内聚什么意思?我给大家通俗的讲一下 低耦合 解决冗余(rongyu)代码,提高代码重复使用率 冗余:很多相似的代码

  2. 程序开发之——低耦合高内聚

    内聚概念 内聚性,又称块内联系.指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量. 内聚性是对一个模块内部各个组成元素之间相互结合的紧密程度的度量指标.模块中组成元素结合的越紧密 ...

  3. 很强大!低耦合高内聚的MCU实用软件框架

    大家好,我是晓宇,不知道大家有没有听过软件设计中的低耦合,高内聚的两个原则. 具体是什么意思呢? 在一个项目中:每个模块之间相联系越紧密,则耦合性越高:这样你改动其中一个模块,其他模块也需要一起改动, ...

  4. c语言如何实现高内聚低耦合_如何实现高内聚低耦合?高内聚低耦合的现实例子...

    下面要给大家分享的是一个高内聚低耦合例子,那么编程应该如何实现高内聚低耦合呢?一起来看看下面的实例吧! 案例: 在一个学校里面,有着老师若干名,依次编号. 有学生若干名,依次编号. 现在的话,是要求要 ...

  5. Java中的低耦合高内聚法则

    java框架模式_低耦合高内聚法则 定义:一个对象应该对其他对象保持最少的了解. 问题由来:类与类之间的关系越来越密切,耦合度越来越大,当一个类发生改变时,对另外一个类的影响也越大. 解决方案:尽量降 ...

  6. 详解高耦合低内聚,低耦合高内聚

    什么是高耦合低内聚,低耦合高内聚 耦合:不就是耦合系数高与低吗,就是关联性强不强 内聚:内聚是指是不是具有很强的功能性,一个模块或方法是不是只干一件事,越强的内聚或者高内聚模块应当恰好只做一件事. 用 ...

  7. 简单理解高内聚低耦合-高内聚低耦合通俗理解是什么?

    低耦合: 耦合就是元素与元素之间的连接,感知和依赖量度.这里说的元素即是功能,对象,系统,子系统.模块. 例如:现在有方法A和方法B 我们在A元素去调用B元素,当B元素有问题或者不存在的时候,A元素就 ...

  8. 3分钟Tips:用大白话告诉你什么是低耦合|高内聚

    1.高内聚 首先我们来看看内聚的含义:软件含义上的内聚其实是从化学中的分子的内聚演变过来的,化学中的分子间的作用力,作用力强则表现为内聚程度高.在软件中内聚程度的高低,标识着软件设计的好坏. 我们在进 ...

  9. 低耦合高内聚 原则的应用

    这次主要是分享对软件设计中的"低耦合.高内聚"原则的一些个人体会,通过lorawan代码等实例分析,让大家对这个设计思想有一些具象的理解. 本文作者twowinter,转载请注明作 ...

最新文章

  1. bash shell命令(2)
  2. 理想ONE“偷袭”豪华品牌 李想强调不会收取金融服务费 | 2019上海车展
  3. zcmu-2129(拓扑排序)
  4. 设置Eclipse中的字符集为UTF-8
  5. solaris查看服务器信息,Solaris下如何显示服务器虚拟内存统计信息
  6. uploadify php 重命名,Uploadify_THINKPHP配置说明
  7. 串口转以太网口--模块研发过程
  8. iOS中雷达波扩散Layer层动画的实现
  9. 为web-polygraph添加user_agent和add_headers配置变量
  10. 有才!学生发文言文请假条,老师连称赞
  11. 如何像Uber一样给工程师派单 解放外包落后的生产力
  12. Python自动化完成tb喵币任务V2.0
  13. 根据地理位置获取经纬度
  14. M1 PS2021已更新下载!Photoshop2021 Mac真正完美适配M1芯片!PS21m1直装已解决2019黑屏闪退卡启动界面等所有问题!
  15. 哈工大计算机考研854会改成408吗?哈工大854性价比如何?怎么复习?
  16. 借贷系统后台操作说明
  17. JavaScript增加和删除DOM节点
  18. 数学建模笔记 day-03
  19. kali系列-一.kali U盘安装
  20. 【数据仓库】什么是 Azure Synapse,它与 Azure Data Bricks 有何不同?

热门文章

  1. 余姚小学2016Pascal全题解答
  2. Unity开发日记【第六天】——敌人、受伤和运动手感提升
  3. 2015/12/30日-月总结(心很累,然而并没有暖用)
  4. STM32、51循迹小车 【STM32入门控制必会 含51全部程序】
  5. Windows10下的超详细Java安装步骤
  6. go vendor 项目迁移到 mod 项目
  7. 一篇文章带你认识c语言并手把手教你写出你的第一个程序
  8. toCharArray()用法
  9. snapshot diagram的画法小结
  10. HTML的解析顺序及过程详解