摘要: 一、概述二、代码1.Animal.java1 public interface Animal {2 public void bark();3 }2.Dog.java1 public class Dog implements Animal {2 3 @Override4 pub... 阅读全文
posted @ 2015-06-22 22:52 shamgod 阅读(695) 评论(0) 推荐(0)
摘要: 《马士兵设计模式学习》学习了以下模式:1.装饰者模式(例子:水管工,木工)2.策略模式(例子:老师用职称比大小、学生用成绩比大小)3.简单工厂模式(例子:VechileFactory,CarFactory,PlaneFactory),方便产品维度的扩展,但生产系列产品不方便,且易工厂灰泛滥4.抽象工... 阅读全文
posted @ 2015-06-22 22:39 shamgod 阅读(1204) 评论(0) 推荐(0)
摘要: 一、概述命令模式二、代码1.Client.java1 public class Client {2 3 public void request(Server server){4 server.addCommand(new TextCommand());5 ... 阅读全文
posted @ 2015-06-22 20:06 shamgod 阅读(578) 评论(0) 推荐(0)
摘要: 一、概述1.桥接模式的应用情况:(1)两个维度扩展(2)排列组合二、代码1.Gift.java1 public class Gift {2 3 protected GiftImpl giftImpl;4 }2.GiftImpl.java1 public class GiftImpl {2 3... 阅读全文
posted @ 2015-06-22 17:56 shamgod 阅读(450) 评论(0) 推荐(0)
摘要: 一、概述1.目标:动态代理的代理逻辑可以任意修改2.思路:(1)要把代理逻辑抽离,站在jvm的角度思考,应独立出InvocationHandler接口,并接收被代理的对象及方法作为参数invoke(Object o, Method m),并本身作为参数传给newProxyInstance(Class... 阅读全文
posted @ 2015-06-22 14:45 shamgod 阅读(648) 评论(0) 推荐(0)
摘要: 一、概述1.目标:把Proxy修改成可以代理任意接口及其任意方法2.思路:(1)代理任意接口:把接口类型作为参数传给Proxy的newProxyInstance(Class interfze)(2)代理任意方法:用interfze.getMethods()取出所有方法,拼接实现方法的字符串二、代码1... 阅读全文
posted @ 2015-06-21 20:19 shamgod 阅读(795) 评论(0) 推荐(0)
摘要: 一、概述1.目标:不自己写代理类,利用Proxy.newProxyInstance()动态生成2.用到的知识点:(1)//编译源码,生成class,注意编译环境要换成jdk才有compiler,单纯的jre没有compiler,会空指针错误 JavaCompiler jc = ToolProvide... 阅读全文
posted @ 2015-06-21 15:46 shamgod 阅读(2509) 评论(0) 推荐(0)
摘要: 一、概述1.目标:要在Tank的move()方法做时间代理及日志代理(可以设想以后还要增加很多代理处理),且代理间的顺序可活更换2.思路:(1)聚合:代理类聚合了被代理类,且代理类及被代理类都实现了movable接口,则可实现灵活多变,具体看代码(2)继承:继承不够灵活,具体看代码二、代码1.Mov... 阅读全文
posted @ 2015-06-21 11:53 shamgod 阅读(1294) 评论(0) 推荐(0)
摘要: 一、目标1.用Filter模拟处理Request、Response2.思路细节技巧:(1)Filter的doFilter方法改为doFilter(Request,Resopnse,FilterChain),有FilterChain引用,为利用FilterChain调用下一个Filter做准备(2)F... 阅读全文
posted @ 2015-06-20 20:55 shamgod 阅读(1940) 评论(0) 推荐(0)
摘要: 一、目标增加filterchain功能二、代码1.Filter.java1 public interface Filter {2 public String doFilter(String str);3 }2.FilterChain.java 1 import java.util.Array... 阅读全文
posted @ 2015-06-20 18:03 shamgod 阅读(1769) 评论(0) 推荐(0)
haha