From cf40e94d18ebfe77201774ecd1cd209d91cc18cd Mon Sep 17 00:00:00 2001 From: feelschaotic Date: Wed, 23 Jan 2019 22:24:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0ButterKnife=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- SUMMARY.md | 6 ++--- .../ButterKnife.md" | 22 +++++++++++++++++++ 3 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 "\345\274\200\346\272\220\345\272\223/\344\276\235\350\265\226\346\263\250\345\205\245/ButterKnife.md" diff --git a/.gitignore b/.gitignore index 489d52d..8361d13 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,5 @@ node_modules/ !.npmignore !.cise.ym .history/ -.idea/ \ No newline at end of file +.idea/ +/_book diff --git a/SUMMARY.md b/SUMMARY.md index b862139..73a5432 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -173,11 +173,9 @@ * Picasso -* 依赖注入 +* [依赖注入]() - * butterknife - - * apt + * [ButterKnife](开源库/依赖注入/ButterKnife.md) * Dagger2 diff --git "a/\345\274\200\346\272\220\345\272\223/\344\276\235\350\265\226\346\263\250\345\205\245/ButterKnife.md" "b/\345\274\200\346\272\220\345\272\223/\344\276\235\350\265\226\346\263\250\345\205\245/ButterKnife.md" new file mode 100644 index 0000000..452fd60 --- /dev/null +++ "b/\345\274\200\346\272\220\345\272\223/\344\276\235\350\265\226\346\263\250\345\205\245/ButterKnife.md" @@ -0,0 +1,22 @@ +# ButterKnife +### 前言 + +J 神出品,必属精品,又是一个小而美的开源框架,重点在于 ButterKnife 不断迭代完善的历史进程,从之前的运行时反射处理注解,再到改为无损性能的 apt,再到巧思支持 lib。这都体现了 ButterKnife 与时俱进,追求最优的态度。 + +### 源码分析 + +- [how-butterknife-actually-works](https://medium.com/@lgvalle/how-butterknife-actually-works-85be0afbc5ab) +- [ButterKnife源码分析](https://www.jianshu.com/p/1c449c1b0fa2) + +### 进阶 + +- [拆 Jake Wharton 系列之 ButterKnife](https://www.jianshu.com/p/b8b59fb80554) +> 从不同角度阐述了ButterKnife优秀的设计,很多源码解析文章往往只顾着大点,比如全网都着重在于ButterKnife的APT,而本篇文章留意到了细节,比如单测、Lint、R2,可谓非常优秀了。 + +- [ButterKnife 是怎么解决 library 的 R 问题的](https://blog.csdn.net/pouloghost/article/details/80901364) + +- [一文应用 AOP | 最全选型考量 + 边剖析经典开源库边实践,美滋滋](https://juejin.im/post/5c179c136fb9a049e66029dd) +> 图解ButterKnife的工作流程,从全局上掌握ButterKnife设计。 + +- [AOP 最后一块拼图 | AST 抽象语法树 —— 最轻量级的AOP方法](https://juejin.im/post/5c45bce5f265da612c5e2d3f) +> 全网少有的剖析ButterKnife AST的博文,详细说明了为什么ButterKnife要使用AST?解决了什么问题?怎样解决的? \ No newline at end of file