滴滴国际化Android端演进

http://geek.csdn.net/news/detail/129998

地图sdk选型

滴滴海外项目的用户需求是, 中国人在海外的打车需要.
地图sdk选择海外当地公司的sdk, 车辆运力方面对接海外当地的运力合作商.
讲座对地图sdk的选型原则进行了完整阐述.

架构设计
滴滴国际化Android端演进_第1张图片
didi.png

单一及开闭原则:
单一是指一个module只干一件事.
开闭是指不同module之间以接口的形式相互适配去调用.

进行组件化拆分后的好处:
组件间解耦
业务并行开发、测试
组件单独测试

海外漫游网络的优化
滴滴国际化Android端演进_第2张图片
network1.jpg
滴滴国际化Android端演进_第3张图片
network2.jpg
滴滴国际化Android端演进_第4张图片
network3.jpg

这个过程中客户端要做的工作包括:

  1. 拉取中转服务器域名列表
  2. 使用中转服务器域名列表中域名访问,出错则用原始域名降级重试
  3. 定时及推送更新域名列表
  4. 这里域名顺序由服务端自己负载均衡.
给自己的启发:
  1. 重视总结现有项目的架构
    滴滴的技术专家是个不错的技术发展方向, 从讲座看, 技术专家的水平确实可以.
    如果去面试技术专家的话, 不光要有扎实的技术基础,
    对现有项目做个概括性的架构阐述也是不可避免的, 这点之前比较欠缺, 要补上来.

  2. delegate设计模式
    讲座中提到了多处使用delegate设计模式的地方.
    chromium项目中有不少类名就是Delegate.java, 之前对这个设计模式不理解, 或是说通过类名没法联想到这个类的存在到底是要干什么用, 这个设计模式的知识要补上来.
    对delegate不要生畏, 理解为某某的“代表”就好了.
    eg. WindowDelegate.java 就代表一个Window, 封装一些和Window之间的交互.
    eg: StorageDelegate.java, 就理解为Storage的代表, 封装了和Storage的一些交互操作.
    Contains functions for interacting with the file system.

  3. 总结的技术笔记要打印出来
    往往总结完也就完了, 后续也没有再阅读消化, 当时学懂了, 后来日子长了, 慢慢又遗忘了, 要改变这种情况, 就要把之前的技术笔记打印出来, 时不时的常看常新, 慢慢也就能记在心里了.

  4. 滴滴对子module使用aar依赖
    aar和jar的区别?要总结浏览器的各模块依赖
    单独写一篇文章对公司目前的项目进行总结.
    知识参考:
    http://blog.csdn.net/justinnick/article/details/52421234
    http://www.androidchina.net/2467.html

------DONE.----------------

你可能感兴趣的:(滴滴国际化Android端演进)