- 博客(7)
- 收藏
- 关注
原创 二十三种设计模式(java版)之Factory Method
目的:工厂对象通常包含一个或多个方法,用来创建这个工厂所能创建的各种类型的对象。这些方法可能接收参数,用来指定对象创建的方式,最后返回创建的对象。有时,特定类型对象的控制过程比简单地创建一个对象更复杂。在这种情况下,工厂对象就派上用场了。工厂对象可能会动态地创建产品对象的类,或者从对象池中返回一个对象,或者对所创建的对象进行复杂的配置,或者应用其他的操作。元素:Pr
2013-04-07 14:09:57
555
转载 jvm的内部体系结构浅析
jvm全称是Java Virtual Machine(java虚拟机)。它之所以被称之为是“虚拟”的,就是因为它仅仅是由一个规范来定义的抽象计算机。我们平时经常使用的Sun HotSpot虚拟机只是其中一个具体的实现(另外还有BEA JRockit、IBM J9等等虚拟机)。在实际的计算机上通过软件来实现一个虚拟计算机。与VMWare等类似软件不同,你是看不到jvm的,它存在于内存。
2013-04-01 14:51:39
547
原创 代码坏味
坏味重构重复代码形成Template Method用Factory Method引入多态创建链构造函数用Composite替换一/多之分提取Composite通过Adapter统一接口引入Null Object过长函数组合方法将聚集操作搬移到Collection Parameter用Command替换条件调度程
2013-04-01 13:40:54
2075
原创 二十三种设计模式(java版)之Template Method
目的:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。元素:AbstractClass(抽象类):实现主要算法的结构,具体的步骤可以声明为抽象方法由子类实现。ConcreteClass(具体类):实现抽象类的方法,定义具体的方法细节。类图:代码示例:Abstr
2013-03-31 15:21:10
505
原创 二十三种设计模式(java版)之Adapter
目的:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。元素:Target(对象):客户所希望的接口,提供接口的抽象方法。Client(客户):使用最终接口的类。Adaptee(被动符合):具有方法但是不符合客户需要。Adapter(适配器):具有Adaptee的实例,实现Target接口,通过方法的
2013-03-31 14:57:36
580
原创 二十三种设计模式(java版)之Iterator
元素:1、Interator(迭代器)提供访问和遍历元素的接口。一般包含hasNext和next方法。2、ConcreteInterator(具体迭代器)实现迭代器的接口,其中包含容器的实例,以遍历其中具体的元素,其中还需要有标记当前元素位置的变量。3、Aggregate(聚合)提供获取容器迭代器的接口函数。4、ConcreteAggregate(具体聚合)实现获取
2013-03-31 13:53:33
599
原创 struts2内幕读书笔记
Structs中的设计模式:1、ThreadLocal模式:为了解决多线程并发问题,jdk提供了一个类叫ThreadLocal。ThreadLocal在维护变量的时候,实际上使用了当前线程中的一个叫做ThreadLocalMap的独立副本,每个线程修改自己的副本而不会互相影响。以下为java中ThreadLocal源码:public class Thread i
2013-03-29 12:53:56
514
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人