正文
最近换了份工作,当然还是iOS开发,感觉自己从程序员到程序猿。从每周的双休6点下班,20分钟路程 到每周8点加班单休,两个小时的路程。中间一段时间的调整了心态,一段时间算是从新思考了自己的人生(也算是职业规划吧)。
一直感觉自己的开发能力还不错,但是一个人遇到了比较大的项目的时候变得手无失措,而且习惯一个人开发(前家公司自己独立完成3个APP开发),继续再怎么错都是自己一个人很容易补救的,也不会影响别人的开发进度。好吧,作为一名程序猿的我确实不善言辞,还是直接上干活吧。
一、APP设计模式
现在iOS开发的设计模式很多,什么MVVM,MVP等,当然最常用的还是MVC。对于初学者,理解设计模式不是很简单的事情,相对更简单的不如去模仿栗子,去写demo,然后分模块在项目中实践,现在不是也有很多大公司的APP部分使用react native 热修复框架。说了那么多还是说说我自己的项目吧,有人说你的项目中,无非什么MVC模式框架,什么masonry afn 和别人的有什么区别么?
我个人理解的区别在于,你在项目的进步,什么样子的目标,什么样的努力,就会有什么样子的结果。
项目很平常的使用了MVC。项目结构图如下。
可能很多开发人员上来就说,这没什么啊。。。我们就是自己做的。是的,但是如果理解里面的内容,就是我们自己去思考的了,有时候我们为什么去这么创建原因,都是要和小弟们说的(看到不要怪我,大哥们)。其次,确实对部分还是有一定了解的,刚开始的时候连续看到了好多天的代码规范类的文章,下面再聊。到这里APP基本的版图已经出来了。这里我们要详细介绍几个类。
1、数据操作的类。如果封装AFNetworking 其实是一种很讲究的事情,封装过ASI的肯定都是知道的。画一个简单的图吧。
简单一点的说,就是如果你不使用ASI了或者AFN了,你需要修改多少东西。这个思路不仅仅偏向于简单的网络请求包括数据库操作等。我们对代码进行封装的意义不仅仅是减少代码量。更多的考虑以后的代码维护和开发,记得领导之前说过一句话,更好的领导者是有更多的预见性,他比平常人看的更多更远。
2、控制器的基类,这部分其实更重要。baseController对控制器进行代码的二次封装。例如导航栏,状态栏通知消息等。第二个webviewbController 是继承Base的。用于项目中H5的交互,包含需要的三方框架
3.预编译文件的使用,其实更多的想一些常用的封装好的网络请求的类,masonry ,LCP什么的都可以放进去,因为这个真的是用到很多的。
4.其实我个人是比较喜欢pods 简直不要太方便,但是出于对代码的二次开发,假如明年没人维护cocoapods,像刚升级xcode 8那会,各种坑一样。其实为了方便坚持后面的坑,我们是可以减少使用三方库。
po 一点我们的代码吧,这样看着只是舒服点。
其实项目中框架相关的还是很多的,我们在使用过程中可以根据自己的开发需要修改。这个应该是最基础的的了。
大侠无拍砖,只适合初学者。谢谢。