
设计模式
阳光石头
还是google好用
展开
-
代理模式和装饰模式的区别
代理模式中,代理类对被代理的对象有控制权,决定其执行或者不执行。而装饰模式中,装饰类对代理对象没有控制权,只能为其增加一层装饰,以加强被装饰对象的功能,仅此而已。 使用代理模式,代理和真实对象之间的的关系通常在编译时就已经确定了。而装饰模式中,装饰者能够在运行时递归地被构造。原创 2015-12-17 17:50:17 · 363 阅读 · 0 评论 -
Java如何正确地写出单例模式
单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。 懒汉式,线程不安全 当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样教我们的。转载 2015-12-18 14:30:57 · 358 阅读 · 0 评论 -
设计模式——责任链
责任链模式(Chain of Responsibility)的目标是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。 在处理用户的请求时可能要根据不同的情况对请求添加不同的处理逻辑,在这时候就可以利用责任链进行设计。当需要添加一个处理逻辑时可以很方便的添加一个处理的节点。 现在我们的需求是处理转载 2016-07-01 11:05:07 · 255 阅读 · 0 评论