设计模式
文章平均质量分 76
mushui59
这个作者很懒,什么都没留下…
展开
-
单例模式以及通过反射和序列化破解单例模式
对于Java来说单例模式可以有以下几种方式:饿汉方式懒汉方式双重检查加锁懒汉方式内部类方式枚举方式破解单例模式有两种方式:通过反射的方式和通过序列化的方式。下面将一一对此进行分析。饿汉方式非常简单,即使用一个初始化的静态变量,代码如下:1public class EagerSingleton {2 private...原创 2013-09-15 23:22:43 · 96 阅读 · 0 评论 -
利用策略枚举重构代码
问题描述:在创建合同时,会选择一个何时付款的策略,比如,目前策略有: 合同执行开始时付款100%, 合同执行结束后付款100% 合同每月结算当月应付金额 ... 并且付款的策略还会改变。最初的代码使用一大串if...else...,如下: public List<PaymentPlan> resolve(ExecutionUni...2013-09-30 20:23:22 · 217 阅读 · 0 评论 -
责任链——Chain of Responsibility
在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。责任链模式涉及到的角色如下所示:Ø 抽象处理者(Handler)角色:定义出一个处理请求的接口。如果需要,接口可以定义出一个方法以设...原创 2013-10-27 21:03:28 · 68 阅读 · 0 评论