组件化的实质:就是对现有项目或新项目进行基础、功能及业务逻辑的拆分,形成一个个的组件库,使宿主工程能在拆分的组件库里面查找需要的功能,组装成一个完整的App。
组件化的优缺点
组件化的优点:
组件可独立运行,提高的代码的复用性,组件化的颗粒度越细,可复用度就越高。当组件库的数量足够庞大时,项目只需要组合组件即可完成大部分的开发工作。组件化后项目的代码结构更加清晰,追踪问题、修复bug、增加需求更方便不同业务组件相互独立,明确团队开发的业务边界,增加团队协作效率
组件化的缺点:
增加开发人员的学习成本
增加了代码的冗余,组件化颗粒度越细,中间代码越多
增加了项目的复杂度,复杂度越高越容易出问题
总体上组件化对于项目的开发来说是利大于弊的,当然如果你的项目非常简单的话就没必要做这些了。
模块拆分
基础组件库:
基础组件库放一些最基础的工具类,比如金额格式化、手机号/身份证/邮箱的有效校验,实质就是不会依赖业务,不会和业务牵扯的文件。
功能组件库:
分享的封装、图片的轮播、跑马灯功能、推送功能的二次封装,即开发一次,以后都能快速集成的功能。
业务组件库:
登录组件、实名组件、消息组件、借款组件、还款组件、各条产品线组件等。
中间件(组件通讯):
各个业务组件拆分出来后,组件之间的通讯、传参、回调就要考虑了,此时就需要一个组件通讯的工具类来处理。
CocoaPods远程私有库:
每个拆分出去的组件存在的形式都是以Pod的形式存在的,并能达到单独运行成功。
宿主工程:
宿主工程就是一个壳,在组件库中寻找这个工程所需要的组件,然后拿过来组装成一个App。
网友评论