读书笔记
一切从这里开始
正在路上
展开
-
struts2内幕读书笔记
Structs中的设计模式: 1、ThreadLocal模式: 为了解决多线程并发问题,jdk提供了一个类叫ThreadLocal。ThreadLocal在维护变量的时候,实际上使用了当前线程中的一个叫做ThreadLocalMap的独立副本,每个线程修改自己的副本而不会互相影响。 以下为java中ThreadLocal源码: public class Thread i原创 2013-03-29 12:53:56 · 504 阅读 · 0 评论 -
二十三种设计模式(java版)之Iterator
元素: 1、Interator(迭代器) 提供访问和遍历元素的接口。一般包含hasNext和next方法。 2、ConcreteInterator(具体迭代器) 实现迭代器的接口,其中包含容器的实例,以遍历其中具体的元素,其中还需要有标记当前元素位置的变量。 3、Aggregate(聚合) 提供获取容器迭代器的接口函数。 4、ConcreteAggregate(具体聚合) 实现获取原创 2013-03-31 13:53:33 · 589 阅读 · 0 评论 -
二十三种设计模式(java版)之Adapter
目的: 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 元素: Target(对象):客户所希望的接口,提供接口的抽象方法。 Client(客户):使用最终接口的类。 Adaptee(被动符合):具有方法但是不符合客户需要。 Adapter(适配器):具有Adaptee的实例,实现Target接口,通过方法的原创 2013-03-31 14:57:36 · 572 阅读 · 0 评论 -
二十三种设计模式(java版)之Template Method
目的: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 元素: AbstractClass(抽象类):实现主要算法的结构,具体的步骤可以声明为抽象方法由子类实现。 ConcreteClass(具体类):实现抽象类的方法,定义具体的方法细节。 类图: 代码示例: Abstr原创 2013-03-31 15:21:10 · 492 阅读 · 0 评论 -
代码坏味
坏味 重构 重复代码 形成Template Method 用Factory Method引入多态创建 链构造函数 用Composite替换一/多之分 提取Composite 通过Adapter统一接口 引入Null Object 过长函数 组合方法 将聚集操作搬移到Collection Parameter 用Command替换条件调度程原创 2013-04-01 13:40:54 · 2070 阅读 · 0 评论 -
二十三种设计模式(java版)之Factory Method
目的: 工厂对象通常包含一个或多个方法,用来创建这个工厂所能创建的各种类型的对象。这些方法可能接收参数,用来指定对象创建的方式,最后返回创建的对象。 有时,特定类型对象的控制过程比简单地创建一个对象更复杂。在这种情况下,工厂对象就派上用场了。工厂对象可能会动态地创建产品对象的类,或者从对象池中返回一个对象,或者对所创建的对象进行复杂的配置,或者应用其他的操作。 元素: Pr原创 2013-04-07 14:09:57 · 545 阅读 · 0 评论