这两天在把一个主工程里面的一部分业务,模块化,做成一个Framework,按照以往的经验,我把相应的模块逻辑移出来以后,对主工程中别的模块的依赖不好处理,儿子依赖父亲,父亲依赖爷爷,无穷尽也。
例如我需要把主工程中的A移出来,但是A对B也有依赖。A和B都在主工程里。
以前的处理方式是,
1.把B移出来到A里面,对B进行重命名可以成为renameBCopy。这样主工程里面有B,我的A Framewok里面也有一份renameBCopy。
2.或者把B的部分也做成一个公共的组件。让主工程和A同时依赖它。
然后想到开发Tweak插件的时候,会new一些原本工程的类,这样就能编译过。于是我把主工程里面的所有的.h头文件,都拷贝里一份到A里面,编译能过。集成进主工程里面,运行也OK。真的是省了好大劲啊。私以为,原因是真正把A集成进主工程里面以后,到了运行时,A里面调用那些.h方法的时候,能在主工程里面找到真正的实现。
我其实平常干活,哪用得到那么多黑魔法,大多数时间,还是花在业务逻辑上。
知识点是一直都是知道的,但是真正用上又是另一回事。如果用之前的办法,可能我得用一周或者两周的时间,干无意义的体力活。但是我用了以后,一天就搞定了。这份喜悦,只有码农能够理解。
1 个赞
这句话很靓!
这样的话你的A framework 应该不能独立运行,独立跑测试应该都不行。这样模块化有什么好处?