
设计模式
ting说你跳
Android Developer.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何正确地写出单例模式
转载自:如何正确地写出单例模式 引言 单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。 懒汉式,线程不安全 当被问到要实现一个单例模式时,很多人的第一反应是写出如转载 2017-08-09 17:11:05 · 282 阅读 · 0 评论 -
Java动态代理之实践
动态代理实现方式Java中的动态代理给我们提供一种动态生成类的方式,有很好的灵活性,这种技术一般会出现在一些第三方框架中,来降低接入方的使用成本。以下为常用的实现动态代理的几种方式:1.JDK自带的Proxy方式 优点:JDK亲儿子,无依赖,使用简单。 缺点:代理类必须继承至少一个接口,无法继承已有父类。2.asm方式,基于class字节码的操作 优点:很底层到操作,性能高,对性能要求苛刻的建原创 2017-08-15 11:43:05 · 456 阅读 · 0 评论 -
Java动态代理
相关概念代理在某些情况下,我们不希望或是不能直接访问对象 A,而是通过访问一个中介对象 B,由 B 去访问 A 达成目的,这种方式我们就称为代理。这里对象 A 所属类我们称为委托类,也称为被代理类,对象 B 所属类称为代理类。 代理的优点有: 1.隐藏委托类的实现。 2.解耦,不改变委托类代码情况下做一些额外处理,比如添加初始判断及其他公共操作。代理模式根据程序运行前代理类是否已经存在,可以将转载 2017-08-14 18:49:46 · 466 阅读 · 0 评论 -
拆轮子系列:拆 Retrofit
整体思路从使用方法出发,首先是怎么使用,其次是我们使用的功能在内部是如何实现的,实现方案上有什么技巧,有什么范式。全文基本上是对 Retrofit 源码的一个分析与导读,非常建议大家下载 Retrofit 源码之后,跟着本文,过一遍源码。对于技巧和范式,由于目前我的功力还不到位,分析内容没多少,欢迎大家和我一起讨论。基本用例来自Retrofit 官方网站。创建 Retrofit 对象Retrofit转载 2017-08-23 17:46:02 · 558 阅读 · 0 评论 -
拆轮子系列:拆 OkHttp
整体思路从使用方法出发,首先是怎么使用,其次是我们使用的功能在内部是如何实现的,实现方案上有什么技巧,有什么范式。全文基本上是对 OkHttp 源码的一个分析与导读,非常建议大家下载 OkHttp 源码之后,跟着本文,过一遍源码。对于技巧和范式,由于目前我的功力还不到位,分析内容没多少,欢迎大家和我一起讨论。首先放一张完整流程图(看不懂没关系,慢慢往后看): 基本用例来自OkHttp 官方网站。创转载 2017-08-20 16:11:56 · 263 阅读 · 0 评论