模块化、组件和插件化

2019-09-26  本文已影响0人  哈布福禄克

一.名词含义

1.模块化:一个可实现的单元,核心是内聚和分离,如登录模块的抽离,是独立的业务模块,如新房模块(NewHouseModule)、二手房模块(SecondHouseModule)、即时通讯模块(InstantMessagingModule)等等;模块相对于组件来说粒度更大。

2.组件化:也称构件,最理想情况下是与业务无关,强调复用,如可复用 Library,是单一的功能组件,如地图组件(MapSDK)、支付组件(AnjukePay)、路由组件(Router)等等;

3.插件化:与组件化不同,组件化在编译时合并模块,插件化在运行时合并模块,如可实现远程替换功能

模块化的目的:

业务模块间解耦

单个业务模块单独编译打包,加快编译速度

多团队间并行开发、测试

解决好租App需要单独维护的问题,降低研发成本

组件化 不是个新概念,通俗的讲组件化就是基于可重用的目的,将一个大的软件系统拆分成一个个独立组件。

组件化的带来的好处:

避免重复造轮子,节省开发维护成本;

降低项目复杂性,提升开发效率;

多个团队公用同一个组件,在一定层度上确保了技术方案的统一性。

为了避免各个业务团队重复造轮子,团队中也需要有一定的技术沉淀,因此组件化是必须的。现在我们需要提供更多的、职能单一、性能更优的组件供业务团队使用。根据业务相关性,我们将这些组件分为:基础组件和业务组件。

概况的理解就是

组件化:单独开发、测试、维护的开发模式

模块化:对 Project 进行拆分,根据业务、功能进行分类

解耦:模块设计原则上, 让模块之间没有非必要依赖

而组件化现在主流的做法是通过 CocoaPods 对要包装的内容进行打包,提交到公司的私有库(开源项目是公有库),进行日常维护及开发。

上一篇下一篇

猜你喜欢

热点阅读