android进阶之路:大牛问答

Q:最近看到很多文章都在说MVP怎么怎么好,还有MVVM啥的
最近看到很多文章都在说MVP怎么怎么好,还有MVVM啥的,请问你认为哪个比较适合android,而你现在采用的是哪些模式呢?
【郭霖】A:郭霖
对于这个问题,我还是有点心得的。像MVP这种架构模式,肯定是有它的意义的,它提供了一种设计规范,让我们能把业务逻辑从Activity中提取出来,让代码看起来更工整,这里先给个肯定。但至于用不用那就纯粹是看个人了,比如我自己就是不用的。对于架构模式这种东西没必要迷信,好像大家都说这个好,那我也必须要用这个,因为代码永远也是写不到最好的,如果你觉得你自己完全能够管理好Activity中的业务逻辑而不会混乱不堪的话,那也完全可以不用MVP模式,在MVP出现之前仍然有需要出色的代码架构,这些都是靠工程师自己的思路创造出来的,而不是按照一个模式循规蹈矩写出来的。在我看来,MVP引入了大量的Presenter这点就做得不够优雅,并且去年Android全球开发者大会谈项目架构时,Google工程师也没有推荐使用MVP,只是提到了一下有这个东西,但话锋一转:今天没准备讲它。如果问我我是使用什么模式来设计架构的话,那我的回答就是,我没有任何模式。但我问遵守一个原则,就是DRY(Don’t Repeat Yourself),当你把同样一段代码写两遍的时候,就是你需要思考去重构的时候,我觉得这样写下来的代码架构同样非常优雅,大家可以试试。

Q:《第一行代码》之后有什么推荐书籍吗?
【郭霖】A:可以看《Android开发艺术探索》这本书,这本书写得挺好的。不过我给你一个建议,最好的学习方式就是做项目,以项目驱动的方式进行学习。当你需要实现一个功能的时候,你需要学习各种相关的技术来完成它,其实在这个过程中你就已经在慢慢成长。如果只看书不练习的话,一是理解层次可能会比较浅,二是学完要不了多久你就又会忘记了。

Q:如何提升自己的编程水平
应该有很多跟我一样的老菜鸟,做android也做了3年甚至更多 但是水平总是跟以前入门一样,到处找点代码贴贴代码。不知道怎么才能有质的提高 希望大神给出宝贵意见
【郭霖】A:我也见过很多你这样的同学,他们做编程有段时间了,但是更深点的东西都不会。或者说搜索能力可以,但是自己学不出来东
西。我给给他们的建议就是先找些小的轮子造一造(可以是重复的轮子,重要的是自己亲自码代码,不是光看)。小轮子造完
了就造大的。当然刚开始的时候你可能会觉得无从下手,感觉小轮子也造不了,那就照着别人的优秀开源项目的片段功能或
模块抄一抄。熟能生巧,时间长了自己就提高了很多,也会自己写出东西了。温馨提示:一定要自己亲手多代码。

Q:你是如何如何快速学习提高技术水平的?
[罗迪]A:有句话说的好: Read the f**k source code。在一项语言基础扎实的情况下,去学习具体平台的开发,绝佳的方式就是阅读优秀的源码。无论代码做得是什么,优秀的代码都会在不经意间让你有所感悟。现在,网上各种文章介绍着各种各样的设计模式。尽管你可能看懂了它的组织形式,却不一定能够融会贯通。阅读源码的过程,你能够真切的体会到一个设计模式的妙处。Google开源了Android这个珍贵的宝藏,阅读它的源码成为了我提高技术水平的方式。Android虽然为开发者提供了详细的文档,但是如果仅仅止步于SDK层,很多的问题你都会有”知道怎么处理,但是不知道原因”的感觉。我敬佩思想的创造人,因为有了思想,轮子可以再造,但是如果没有思想,轮子是不可能造出来的。

读再多的书,不如坐下来写两行代码有成效。编程是实践科学。实践是首要的,其次才是阅读。

读项目源码是一种非常好的学习方式.

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值