【刘小明】AOP技术在APP架构上的应用

娄怀山

2017/12/31 发布于 技术 分类

2017年,droidcon 第2次来到中国,并将于2017年11月在北京盛大开幕。参会人群包括业界领袖、技术大咖、技术开发者、大众创业者及领域从业者。大会将邀请来自Google、微软、Facebook、Ebay、Intel、Telenav、阿里巴巴、腾讯、小米、乐视、联想等国内外安卓技术与应用领域的大咖,沿袭历年国际大会特色,聚焦行业最前沿技术,碰撞切磋技术火花。

文字内容
1. AOP技术在APP架构上的应 用 刘小明
2. 传统应用架构
3. 传统应用架构的困惑 • 模块独立 • 业务解耦 • 方便多团队协作 • 业务可灵活扩展 横向需求落地困难 —侵入业务模块 —易引入新Bug —团队协作困难 —迭代慢,成本高
4. AOP应用架构
5. 举个栗子
6. 举例—AOP实现动态权限
7. 举例—AOP实现动态权限
8. 举例—AOP实现动态权限 动态权限带来的困惑 • 对既有代码进行结构调整 • 依赖库代码调整 • 第三方库怎么办 • 调整成本大,时间周期长,无法满足版本快速迭代
9. 举例—AOP实现动态权限 Annotation方式申请动态权限
10. 举例—AOP实现动态权限 java接口方式注入权限
11. 举例—AOP实现动态权限 AOP代码直接切入方法
12. 还有哪些横向业务使用了AOP • 动态权限 • 域名备份方案 • 性能监控 • 无痕打点 • log • token验证 • 调试 • 测试 • 国际化版本开发 • Bug快速修复
13. 什么是AOP
14. AOP介绍 • 动态地将代码切入到类的指定方法、指定位置的编程思想 • 它是面向对象编程的一种补充
15. AOP介绍
16. 选择合适方式落地
17. AOP技术选型落地 • 高效,不影响软件运行效率 • 稳定,不影响软件质量 • 可维护,开发成本低,维护成本低 • 混淆不影响 • 可以切入第三方库 • 方便复用,可以作为独立第三方库存在 • 同时支持java, kotlin
18. AOP技术选型落地 AspectJ AspectJX
19. AOP技术选型落地 基本概念 • @Aspect • @Pointcut • @After • @Before • @Around 切点匹配规则 • 类正则方式:., .., ?, * • args() •! • target() 切入方式 • call • execution 支持切点 • annotation • 方法 • 构造方法 • 变量 • 异常
20. AOP技术选型落地
21. AOP技术选型落地
22. AOP技术选型落地
23. Q&A