美文网首页面试宝典
设计能力 - 你如何考虑组件化

设计能力 - 你如何考虑组件化

作者: 撸帝 | 来源:发表于2019-03-04 11:24 被阅读22次

学习完整课程请移步 互联网 Java 全栈工程师

组件化与模块化

首先来谈两个前端和移动端比较常见的词:组件化模块化

首先,可以肯定的是,组件化和模块化的中心思想都是 分而治之。目的都是将一个庞大的系统拆分成多个组件或者说是模块。

image

组件化

组件化就是基于可重用的目的,将一个大的软件系统按照分离关注点的形式,拆分成多个独立的组件,主要目的就是 减少耦合

一个独立的组件可以是一个软件包、WEB 服务、WEB 资源或者是封装了一些函数的模块。这样,独立出来的组件可以单独维护和升级而不会影响到其他的组件。

模块化

模块化的目的在于将一个程序按照其功能做拆分,分成相互独立的模块,以便于每个模块只包含与其功能相关的内容,模块之间通过接口调用。将一个大的系统模块化之后,每个模块都可以被高度复用。

模块化和组件化的区别

从上面的定义中可以看出,组件化和模块化的意思差不多,主要思想都是分而治之。只是一个把拆分之后的每个片段叫做组件、另一个把拆分之后的片段叫做模块。那么这两种拆分在拆分方式上是不是有什么不同的?

关于组件化和模块化的区别,我在网上看了好多资料,也没有人能给出准确的回答。其实没有准确回答的原因也比较明显,那就是大多数时候我们真的不需要严格的区分这两个名字。我们要学习的是其中的解耦和分治的思想和目的。

从另外一个角度来讲,如果真的要区分一下组件化和模块化的话,那么可以认为这两种分而治之的目的稍有区别:

  • 模块化的目的是为了 重用,模块化后可以方便重复使用和插拨到不同的平台,不同的业务逻辑过程中。
  • 组件化的目的是为了 解耦,把系统拆分成多个组件,分离组件边界和责任,便于独立升级和维护。

相关文章

  • 设计能力 - 你如何考虑组件化

    学习完整课程请移步 互联网 Java 全栈工程师 组件化与模块化 首先来谈两个前端和移动端比较常见的词:组件化 和...

  • 设计能力 - 你如何考虑服务化

    学习完整课程请移步 互联网 Java 全栈工程师 集中式与分布式 要谈微服务,那么必须建立在分布式的基础上,对于一...

  • Dagger2在组件化中的使用

    本文将适合有Dagger2使用基础及考虑组件化构建项目的同学 首先看一下组件化的大概样子 如何让dagger2在组...

  • iOS组件化之CocoaPods

    如何创建私有 CocoaPods 仓库如何发布自己的开源框架到CocoaPods组件化架构漫谈 iOS组件化之组件...

  • Android 组件化开发

    本篇简单谈谈组件化及其搭建方案 浅谈对组件化的理解 什么是组件化?如何实现组件化? 不得不提的模块化 Androi...

  • vue

    1、什么是组件化、有什么好处、vue如何创建组件、vue组件之间如何通信 什么是组件化。任何一个页面我们都可以抽象...

  • OC底层面试题-组件化通信(下)

    上篇我们知道了如何创建组件化项目,这篇我们来聊聊组件化的重点:组件化通信 组件化通信方法 目前所了解的主流方式有一...

  • 阿里巴巴arouter组件化总结

    第1节 组件化原因 第2节 组件化须考虑的问题 第3节 ARouter使用3.1 初始化配置3.2 高阶使用1. ...

  • toDoList案例

    1.组件化编码流程(1)拆分静态组件:组件要按照功能点拆分,命名不要与 html 元素冲突(2)实现动态组件:考虑...

  • iOS 组件化2

    组件化2 本文主要讲组件化之间是如何通讯的 组件化通讯方案 1、URL路由 2、target-action 3、p...

网友评论

    本文标题:设计能力 - 你如何考虑组件化

    本文链接:https://www.haomeiwen.com/subject/rombuqtx.html