1.耦合

一个模块依赖于另一个模块,就是两个模块之间有耦合,简而言之,依赖就是耦合

模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。
降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,保证系统设计顺利进行

2.内聚

高内聚,是指一个模块内部的代码的相关程度要高,就像分子之间的作用力一样,要紧密的结合在一起。最典型的就是,一个模块只做一件事。
就是所谓的单一职责。

2.开闭原则

一个模块的改变不会引起其他模块的改变。就是当一个模块对其他模块的依赖最小,甚至无依赖时,其才不会因为其他模块的改变而改变。

3.依赖倒置

依赖于抽象,不依赖于实现。即一个模块只是去依赖于一个标准,只要标准不变,模块就无需改变。其依赖的模块只要
实现了对应的标准,我就可以使用它,而不必知道它的存在。标准的另一说法叫接口,即编程语言中的接口。

4.依赖注入

将对模块的依赖从一个中心注入进去。实际上是将依赖关系的管理放在了一个统一的地方,类似于bus总线模式,降低了修改一个被依赖模块带来的
修改成本。

转载于:https://www.cnblogs.com/mengff/p/8421502.html

关于内聚和耦合的理解相关推荐

  1. java高内聚低耦合什么意思_高内聚低耦合的理解

    在做rm比赛的过程中,发现文件和函数的代码规范逻辑十分重要,这不仅影响到自己看代码的方便与否,还影响到下届队员对我的代码的理解.因此打算开始规范自己的代码习惯,养成良好习惯,以后工作也能用上. 以下转 ...

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

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

  3. 高内聚低耦合通俗理解_带你从入门到精通——「高内聚低耦合」

    如果这是第二次看到我的文章,欢迎订阅z哥的公号(跨界架构师)哦~ 本文长度为2871字,建议阅读8分钟. 坚持原创,每一篇都是用心之作- 下面的这个场景你可能会觉得很熟悉(Z哥我又要出演了): Z哥: ...

  4. 关于高内聚低耦合的理解

    目录 一.高内聚低耦合 二.耦合度 三.内聚度 一.高内聚低耦合 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准,良好的系统设计模块之间的耦合度一定要低.模块内的内聚度一定要高,也就是高内聚 ...

  5. 高内聚低耦合通俗理解_抱歉,请不要把“业务逻辑层”理解为“业务中台”

    在IAS2019中台架构峰会上,我曾与一位年轻帅气的技术小伙来了一番有趣的对话. 因为和朋友有约,所以我在现场互动结束之后,就急匆匆地跟其他嘉宾打了声招呼,抱着笔记本冲出了会场. 但没想到刚到电梯口, ...

  6. 最简单理解高内聚低耦合

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

  7. 深入理解高内聚,低耦合

    起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性. 耦合性也称块间联系.指软件系统结构中各模块间相互联系紧密程度的一种度量 ...

  8. 怎样理解高内聚低耦合?

    在网上查了很多相关的资料不能更好地去帮我们理解高内聚与低耦合.以我自己的理解总结以下几点: 什么是高内聚: 在我们开发项目中的时候,需要有很多的模块,但模块与模块间肯定会存在相互调用.高内聚指的就是模 ...

  9. 内聚和耦合(自己的理解)

    网上对于内聚和耦合的资料太多,这里结合我的感受和其他人的答案http://blog.csdn.net/zhiquan/article/details/4255161谈谈自己的理解 以下是我对内聚和耦合 ...

最新文章

  1. 栅极电阻要取100欧姆?
  2. unity3d api 中文文档_接口文档系统-showdoc安装部署
  3. Android开发之android_apk 在线安装(源代码分享)
  4. xp上vs2010+IE8无法调试脚本
  5. linux操作系统adsl 上网设置,Linux操作系统下ADSL拨号上网详细步骤
  6. Office Word 2007下管理参考文献(比2003版的交叉引用神马的轻松多拉)(转)
  7. 使用document.ElementByTagName获取input元素并添加事件
  8. 真诚推荐几个最值得关注的前端公众号
  9. 可扩展的TextView,ExpandableTextView与Scroller类的使用
  10. DLA实现跨地域、跨实例的多AnalyticDB读写访问 1
  11. request用法_虚拟语气的用法十一个考点:怎么考都在这里打转
  12. 基于Spring Security的认证方式_编程UserDetailService_Spring Security OAuth2.0认证授权---springcloud工作笔记124
  13. SQL Server无法连接到(local)问题的解决的方法
  14. android控件的touch事件_Android touch 事件分发时序
  15. 华为手机助手 for Mac(华为手机管理软件)中文版
  16. UTM投影分带相关资料及计算公式
  17. 【美味蟹堡王今日营业】论文学习笔记10-02
  18. 徐有高:为你详细解读我国40省市新能源汽车补贴政策(转载)
  19. 一堂难忘的计算机课作文,难忘的一节微机课_800字
  20. %@ Page% page指令属性

热门文章

  1. matlab中的 tofloat 函数
  2. 网站分享,希望提升自身能力的开发人员必看
  3. Md2All:好用的markdown文件转换工具,文章迁移微信公众号的利器
  4. JS正则验证密码 英文大小写+数字+特殊符号 的表达式。
  5. java 虚拟机 xms,堆内存分配: -Xms 256m -千热网Xmx 256m JVM初始分配的内存由-Xms指定...
  6. putty vi右键不能黏贴
  7. java10安装步骤
  8. freenas安装出错
  9. fifa 18 android.com,FIFA18
  10. react HOC详解