设计模式
coooliang
我是好人!
展开
-
工厂模式(JAVA设计模式)
1.简单工厂模式:我创建一个“上帝类”创造出所有的类。2.工厂方法模式:将工厂类进行抽象,创建不是类型的工厂类。3.抽象工厂模式:创建一个抽象的工厂父类,适合一系列产品的创建。1.简单工厂模式public interface Car { public void run();}public class Bmw implements Car { pub原创 2013-04-01 22:33:45 · 1216 阅读 · 0 评论 -
动态代理(JAVA设计模式)
静态代理只能对实现指定接口的类进行代理,当我想为多个接口中的多个方法前后添加逻辑的时候使用静态代理会变得十分麻烦。动态代理可以满足我的要求。使用JDK的动态代理十分简单。需要用到的类有:java.lang.reflect.InvocationHandlerjava.lang.reflect.Proxyjava.lang.reflect.Methodpublic in原创 2013-03-24 12:25:34 · 1510 阅读 · 0 评论 -
静态代理(JAVA设计模式)
代理:一个角色代表另一个角色来完成某些特定的功能,当我们需要在一个方法的前后添加逻辑的时候(日志,事务等)可以使用代理。静态代理可以使用两种方式实现:一种是继承,一种是聚合。1.定义接口Moveable2.实现类Tank3.在Tank的move方法前后添加时间日志(继承方式)或系统日志(聚合方式)public interface Moveable { vo原创 2013-03-24 12:12:12 · 1460 阅读 · 0 评论 -
适配器(JAVA设计模式)
适配器就是让实现不同接口的类协同工作。1.定义一个提供给客户的目标接口Target2.定义一个需要适配的类Result3.定义一个适配器Adapter//对用户的接口public interface Target { void usb2();}//需要适配的类,此接口可能实现了其它的接口如USB3接口等。public class Result { publ原创 2013-03-24 11:54:44 · 1357 阅读 · 0 评论 -
模拟JDK动态代理(JAVA设计模式)
JDK6提供了Javacompiler,StandardJavaFileManager,Iterable实现对.java文件编译的方法。框架在实现代理的时候可以使用CGLIB直接生成2进制文件,不需要生成.java文件。//接口public interface Moveable { void move(); void stop();}//实现Moveable接口publi原创 2013-03-24 12:59:47 · 1351 阅读 · 0 评论 -
简单的 JDK实现动态代理
JDK实现动态代理原创 2011-01-27 15:59:00 · 1109 阅读 · 0 评论 -
责任链模式(JAVA设计模式)
这是一个CMM短彩信发送功能中用到的责任链设计模式。public abstract class PushHandle { //下一次运行内容 private PushHandle nextHandle; public PushHandle(PushHandle nextHandle){ this.nextHandle = nextHandle; } public b原创 2014-01-07 17:26:24 · 949 阅读 · 0 评论