IOS组件化思路

前言

为什么要组件化

随着项目的不断迭代,各个模块会越来越复杂,各个模块相互依赖,而且每个模块可能会有共同的业务逻辑,导致整个项目维护起来比较麻烦。

可以采用组件化,把每个业务逻辑和模块分离,单独管理,这样比较方便维护,各个开发人员只需要关心好自己的模块就好了。

组件化好处

分工更加明确,提高开发效率

复用性更好,能迅速的组成更多的App

组件化思想

就好比封装控件,复杂的控件一般都会封装,组件化只不过是把每个模块单独抽出来,作为一个小工程,然后在组成一个一个完整的项目。

组件化原则

一个项目主要分为3层:业务层、通用层以及基础层,在进行组件化时,有以下几点说明


只能上层对下层依赖,不能下层对上层的依赖,因为下层是对上层的抽象

项目公共代码资源下沉

横向的依赖尽量少有,最好下沉至通用模块,或者基础模块

APP组件化模块规划:

 基础层

HKPublicLibs作为基础层组件,包含其他好用三方库,宏定义,分类等文件


HFMyRouterExtension作为各个库之间的组件访问及跳转,里面引用了CTMediator作为中间跳转库(CTMediator作为一个通讯中枢),https://www.jianshu.com/p/dd3a26b9092b可以通过这个了解CTMediator的原理

s.dependency 'CTMediator' #依赖的第三方库


  通用层

HKStaffAppPublicLibs作为通用层组件,其作用就是承上启下,上:业务层可以访问公共控件,网络配置等可以抽离出来的功能方法.下:可以访问底层的网络库,基础分类(访问HKPublicLibs库里的组件)


  业务层

     根据APP的需求规划,目前大体划分四个主要模块:

首页组件:HKHomeKit

服务组件:HKServiceKit

我的组件:HKMineKit

登录组件:HKLoginKit

  集成工具

使用cocoapods管理组件化开发https://blog.csdn.net/weixin_33901926/article/details/87987437,可以切换组件到本地开发,测试完成后再发布版本正式引用

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

推荐阅读更多精彩内容