模块化 组件化概念区分

前言

组件化与模块化已经深入体现到软件开发当中,也是为了让开发者更好的去解决软件上的高耦合、低内聚、无重用的3大代码问题。在写这篇文章之前,我也百度过很多相关介绍文章,各个作者都有自己的一些想法或者总结,所以当时看得比较乱,在实践过程中也存在不少疑惑(很多时候不知道选择用组件还是模块,或者有时候根本分不清自己这得是组件还是模块。云里雾里~~)。因此为了解决这些疑惑帮自己统一了组件化与模块化的使用方式与概念、定位

组件化 

就是"基础库"或者“基础组件",意思是把代码重复的部分提炼出一个个组件供给功能使用。

        使用:Dialog,各种自定义的UI控件、像在common,until,cocopods(公有,私有),SDK等。

        目的:复用,解耦。

        依赖:组件之间低依赖,比较独立。

        架构定位:纵向分层(位于架构底层,被其他层所依赖)。

 模块化 

        就是"业务框架"或者“业务模块",也可以理解为“框架”,意思是把功能进行划分,将同一类型的代码整合在一起,所以           模块的功能相对复杂,但都同属于一个业务。

        使用:按照项目功能需求划分成不同类型的业务框架(例如:注册、登录、外卖、直播.....)

        目的:隔离/封装 (高内聚)。

        依赖:模块之间有依赖的关系,可通过路由器进行模块之间的耦合问题。

        架构定位:横向分块(位于架构业务框架层)。

总结

    其实组件相当于,把一些能在项目里或者不同类型项目中可复用的代码进行工具性的封装。

    而模块相应于业务逻辑模块,把同一类型项目里的功能逻辑进行进行需求性的封装。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,207评论 4 61
  • 在目前移动互联网时代,每个 APP 就是流量入口,与过去 PC Web 浏览器时代不同的是,APP 的体验与迭代速...
    斜杠时光阅读 14,712评论 4 139
  • 关于搬家这件事, 我想我有很多话要说,这件事得从刚来A公司来说起,去年5月左右我还在宁波,那时候正打算辞职回老家,...
    大_米阅读 3,508评论 0 48
  • 女人一旦到了二十七八岁的时候还没结婚,在父母的眼里就特别的着急,总觉得出门的时候被左领右舍问起来特别的没有面子,好...
    李艺晗阅读 3,474评论 0 0
  • 你可知道睡眠有多重要?我去你妹的,給我做惡夢,說好了我幫你把事情做了,就別折騰。我大把事情要處理。你要給她的我都會...
    阿狸世界阅读 748评论 0 0