zoukankan      html  css  js  c++  java
  • 如何理解高内聚低耦合

      

    高内聚就是说相关度比较高的部分尽可能的集中,不要分散

      例如内聚性要求强的话就像Windows32中系统提供的API,里面的函数太多了,都放在一个Dll中,那么每个函数完成一个功能。这样强大的功能,会比较复杂,所以并不是完全的高内聚越高越好,还是要看实际的需要。当然维护起来也不是特别的方便。

    低耦合就是说两个相关的模块尽可以能把依赖的部分降低到最小,不要让两个系统产生强依赖

      低耦合是用来度量模块与模块直接的依赖关系。耦合当然也可以这样简单的理解,我想懂电脑的应该都知道,CPU与主板之间的关系,CPU如果是特殊的CPU必须使用特殊的主板来支持,那么如果说这个CPU不唯一依赖唯一主板,那么就认为这个CPU与主板的关系是低耦合的关系。 

    例子:

    比如订单系统,订单是跟库存相关联的,如果没有库存就没有订单,订单强依赖库存

    如果我们把如何扣减库存的逻辑做在订单系统中,那么订单系统和库存系统就耦合了

    同样,订单系统中有扣减库存的逻辑会造成订单系统的功能比较分散,订单系统的功能就不够集中

    所以我们把订单中的库存逻辑给拆分出来一个独立的库存系统,对外暴露扣减库存的接口,订单系统可以通过这个暴露的库存接口来扣减库存

    将订单逻辑与库存逻辑的依赖降低到最小,减掉了订单系统与库存的耦合

    同事订单系统只包含订单处理的逻辑,库存系统只包含了库存的处理逻辑,两个系统的业务上更加内聚

  • 相关阅读:
    AngularJs轻松入门(三)MVC架构
    使用regasm注册.net com组件出现不是有效的.net程序集的解决办法
    AngularJs轻松入门(二)数据绑定
    基于服务的并行系统的通讯方式探讨
    日志文件支持unicode字符的做法
    一个软件构建系统的设想
    C/C++中printf和C++中cout的输出格式
    gch文件学习
    《C++ Primer》笔记-#include,#ifndef
    Linux makefile 教程 非常详细,且易懂
  • 原文地址:https://www.cnblogs.com/marry215464/p/10525982.html
Copyright © 2011-2022 走看看