对于程序员来讲,不少时候,咱们都在造房子,从学会框架或者是学会构建整个项目以后,慢慢的咱们就会以为本身在作的事情是一种重复劳动,不少时候只不过是换个面孔而已。而更快的造房子,造好看的房子多是进一步你想要作的。
封装
多是你要学会的第一步,它能帮你学会造出你须要的合适的工具,而这些工具能帮你更快的造出你想要的房子。git
我对封装的定义 ———— 将项目中须要屡次使用,或者是重复劳动,或者是复杂且难看的代码,打包在一块儿(抽离出来)做为一个通用的东西来使用程序员
封装能够是对本身写的代码进行封装,也能够是对别人写的工具或者是框架进行封装,均可以。俗话说的好,写代码就是:要不就是将别人的轮子拿来用,要不就本身造轮子给别人用。别人的轮子不够用,就改装成飞机大炮本身用。github
一、减小重复代码,让代码看起来整齐好看
二、减小重复开发,让开发速度变快
3...
这里不列举了,说白了向面试官吹牛也能够算是意义吧...面试
一、找到须要封装的代码(封装永远不是空想出来的)
多是你项目自己须要封装,又或是你看别人工具想要封装...json
二、列出封装的目标
一开始我建议仍是列出来靠谱,由于这样不会让你忘记最终的目标是什么。设计模式
三、封装
而后就开始作吧!markdown
四、测试
写出你认为全部的在实际中的测试用例单元测试来测试你的工具框架
五、优化
对不合理的地方进行优化,对用的不爽的地方进行优化工具
六、打包
打包发布,到实际的生产中去使用吧post
---若是你不知道okhttp那么你能够去了解一下再往下看。
在实际的项目中若是要发送http请求,那么我喜欢使用okhttp工具来完成这个事情,而实际使用的时候,咱们每次请求都须要构建整个请求,显得很是麻烦,每次都须要对请求的参数和返回的参数都进行构建,也很麻烦,因此我以为有必要封装一下
我只是封装三种类型的请求:
一、get请求
二、post请求 json格式
三、post请求 form格式
请求返回格式都是为json格式
要求:
调用请求方法,输入url地址、请求对象,输出请求返回的对象
(第一步最关键:先上网找找有没有合适的,别人已经封装过的信息,一方面是看看是否适合本身使用,另外一方面,即便不能符合本身,那也能够看看是否能从中找到一些能够值得借鉴的地方)
整个过程我描述一下:
一、先把全部的代码写在了一个类里面
二、而后分离出须要的工具接口
三、而后分离内部须要的方法
四、抽离重复的部分
五、针对传入对象进行泛型优化
六、编写单元测试进行测试
七、编写注释和使用markdown
所有代码:https://github.com/LinkinStars/http-helper
一、这里封装是很个性化的一种封装,这样的封装多数是一种定制化的工具,你本身用会以为很方便。
二、封装会用到不少技术:泛型、反射...
三、封装须要考虑的点不少:由于做为一个工具,你须要考虑到不少人的使用状况,不少测试都是须要作的。
四、封装的优化不少时候会考虑使用设计模式让总体更加优雅。
五、一开始是封装一些别人写的工具,后面是封装一些本身写的代码,在后面是封装一些框架。
六、越原始的封装,封装到最后依赖的越少,封装最后的包越小,使用起来愈来愈方便。
这里是对封装的一个举例,封装的工具自己不必定对你适合,你须要封装属于你本身的工具,若是你有好的建议,赶忙砸过来吧。