嗯本文励志从一个小白的角度说说怎么使用组件化(额对就是我的角度)。
首先为什么使用组件化,这个每一个文章都会说,咱们应该都看过了好多了,理论我不说这里我就说一下我为什么要用组件化吧算是一个具体的例子。
我的公司现有一个项目,但规划是这样的,将来会有几个项目。项目里面有的模块是相同的,比如APP_1里面有一个模块查看近期状态的模块,APP_2也要有这个功能。或许以后还有APP_3和APP_7都要有这个东西,那这样我不能把这份代码每个APP都拷贝一份到时候,一改动可能就要疯了。
这样的一个情况我想起以前看到的模块化。这好像就能解决这个问题。
具体怎么实现模块化
一份整体代码 --> 多个模块。
好像有点简单,但是最基本的实现就是这样。但是实现起来就不是这么简单的了。
问题一: 代码拆分就要解耦吧,本来类之前是互相调用的,现在独立也要能生存。以前写的A页面跳转到B页面,是吧B的.h文件导入到A里面接着创建B的实例。接着跳转;现在A分在了模块1,B被分在模块2,在A里面B的文件都找不到了。所以大神们发明了新的结构就是有中间路由器的那种,类与类之间都是由路由器来跳转(其他操作也是)。这样类和类之间就分开了。(ps:具体图我就不配了,大家应该看过很多了,路由器怎么写,这个网上找个大神写的吧,没问题。)
问题二: 拆分后的模块放在哪里,就像我刚开始说的问题。我不可能把重复用的代码copy到无数的项目里面,这样一改动都得累死。那么代码放到服务器上在让使用者下载岂不是美滋滋。那我们就常用的下载是什么:cocoapod这个相信大家都在用吧。加上再来个版本管理器(GitHub,Gitlab,这里我使用的是gitlab原因私有库免费,GitHub私有库7$一个月),这样只要新项目把要使用的模块只要pod下来就好了。模块代码一更新。各个项目重更新一下pod就可以了。
问题三:具体哪个该分到一起变成一个模块。这个问题,和实际项目有关,具体项目具体分析。不行和产品讨论一下也不错。
具体怎么解决上面的三个问题:
我现在只弄完了问题二,等我都弄好在说吧。
网友评论