越来越多公司,开始了组件化,你还要等到什么时候......
说到开发模式,我们最熟知的开发模式 MVC 或者最近比较热门的MVVM。但是我今天说的组件化的开发,其实MVC不是一类的。它其实是·····
在实际工作中,尤其是参与过比较大的项目,同时,参与开发的成员比较多的情况下,随着时间的不停的开发,业务线不断复杂,就会遇到下面一系列的问题。真的好烦哦·····
- 1、代码耦合很严重。一个控制器的存在需要依赖很多控制器,一个控制器有会被很多控制器依赖。
- 2、项目逐渐变臃肿,庞大,复杂。每次编译都会需要很长时间。
- 3、整个项目要保持一致的开发模式,喜欢MVC的不擅长MVVM,喜欢MVVM的感觉MVC太Low
- 4、不能进行独立测试
传统的团队开发模式的问题在不断的迭代中逐渐的暴露出来。所以我们应该了解更为先进高效的团队开发模式,那就是!组件化开发
下面就为大家详细的介绍一下组件化
或者叫模块化
开发
什么是组件化开发
组件化开发,就是将一个臃肿,复杂的单一工程的项目, 根据功能或者属性进行分解,拆分成为各个独立的功能模块或者组件 ; 然后根据项目和业务的需求,按照某种方式, 任意组织成一个拥有完整业务逻辑的工程。这就是所谓的组件化开发。
组件化开发的优点
既然针对上述问题提到了组件化开发,那就要必要交代一下组件化模块化开发的好处。这样在进行对比的时候,可以更加清楚的定位我们想要解决的问题。开判断组件化开发是不是我们需要的团队开发模式。
- 1、组件之间相互独立。各组件开发成员之间的代码想相互独立编写的,独立编译,独立运行和独立测试的。
- 2、资源的重复里用,尤其是功能性,工具性的代码,可以很轻松的重复里用
- 3、迭代的效率提高。通过迭代进行功能的增减,只需要进行组件的拆分和组合。很方便也很高效
组件化开发需要注意的问题
新项目在进行组件化拆分的时候;或者老项目就行组件化重构的时候需要考虑一下几个问题。比较对于耦合度很高的老项目,解耦并不是一件容易的事情。
- 1、 组件拆分的依据,即要把哪些内容划分成为一个组件?
可以按照以下几个方面进行拆分- ① 基础组件
全局常量、常用宏、常用的分类、常用三方框架的隔离封装、还有一些比较常用的小功能类 - ② 功能组件
图片轮播器、图文菜单、视频中的弹幕、相机、录像、二维码、下载功能、个性定制的提示框等等,都可以封装在一个组件中 - ③ 业务模块
例如电商的购物车,订单管理、下单流程、个人中心
再例如视频或者直播的会员管理、视频播放全屏,右下角小屏幕,缓存等等
- ① 基础组件
2、组件化存在方式
一直在说组件化,到底什么是组件呢。组件的存在方式又是什么呢?
组件形式: 每个组件都是以pod库的形式存在
组件内部:组件内部按照自己喜欢的开发模式以文件夹的形式进行划分
组件测试:每个组件对单独对应一个demo,用来完成该组件的功能测试,这样测试机能被解耦开3、组件的组合方式
既然组件的存在方式是以每个pod库的形式存在的。那么我们组合组件的方法就是通过利用CocoaPods的方式添加安装各个组件。
组合在一起的组件,根据需求可以用过组件自己提供的API进行通讯,或者有中间件统一进行组件中的通讯,在后面的文章中,我会一一介绍
总结
组件化开发这个专题后面的内容会不断的更新,欢迎大家关注!
作者:Biharry
链接:https://www.jianshu.com/p/c8f49ac9311f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。