iOS组件化开发

一 . 为什么要组件化?
对于一些小的项目,有一个或者两三个人可以独立完成的项目,没有必要用组件化开发。组件化开发主要是为了解决项目越来越大,开发人员越来越多,项目耦合性高,不利于维护的问题。

二 . 什么是组件化?
1.组件:一般来说用于命名比较小的功能块,如:下拉刷新组件、提示框组件。而较大粒度的业务功能,我们习惯称之为”模块”。
2.组件化:也可称为模块化,用来分隔,组织和打包软件,每个特定的模块完成特定的功能,所有的模块按照特定的需求组织在一起,完成某些功能,形成一个整体。这就是组件化。
3.组件化首先思考的是模块的拆分,一般可以拆分成基础模块和业务模块,基础模块主要是提供一些基础服务,底层实现,可能很多业务模块都要依赖基础模块。例如网络请求模块。

三 . 组件化有什么优缺点?
1.优点:解除耦合性,便于团队合作开发,模块可以单独运行,测试,加快编译速度(较少主工程里的编译文件),业务分层、解耦,使代码变得可以维护,便于各业务功能拆分、抽离,实现真正的功能复用。通过url跳转,可以动态的控制页面跳转,可以统一处理页面出问题之后的错误处理,可以统一三端,iOS,Android,H5。
2.缺点:增加了很多重复代码,组件维护问题,对于版本更新迭代快,多个版本同时开发的可能还会有组件之间不同版本的依赖问题。
总之,组件化开发有优点,也有缺点,但是总的来说优点还是大于缺点的。开发中可以根据情况来确定是否需要组件化开发。
四 . 怎么实现组件化?
1.工程要分成几个模块,哪些是基础模块,哪些是业务模块,业务模块可能比较大,此时有要把大的业务模块分成几个小的业务模块。具体怎么分要考虑实际情况。
2.模块划分完成以后,各个模块之间的通信怎么实现,比较常用的中间件,通过中间件实现模块之间的通信。中间件是联系各个模块之间的通信。中间件主要做的,就是处理组件之间的页面跳转和组件之间方法的调用。
中间件的目的之一是,解除组件之间的耦合性,让各个模块独立起来。
3.从实际开发来说,组件之间最大的需求就是页面跳转,需要从组件A的pageA页面跳转到组件B的pageB页面,避免对组件B页面ViewController头文件的直接依赖。
4.组件化完成以后,就是管理组建,最常用的就是通过cocoapods管理。

五 . 组件化的原则
1.组件被定义为两种类型的组件:基础组件,业务组件。(我们还有第三方组件,属于基础组件)
2.基础组件可以被业务组件依赖,基础组件不可依赖业务组件。
3.业务组件之间不可耦合。
4.组件相互之间不能通过硬编码引用的方式进行调用。通信通过中间件实现。

六 . 组件化的过程中需要注意的问题?
1.当组件比较多的时候,它们的依赖关系、版本等的管理问题也就多了,组件管理起来可比较麻烦,可能需要制定一个组件管理机制,所以就需要集成管理。
七 . 常用的组件化方式有哪些?
1.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值