在banq的java实用系统开发指南里的HTMLFilter代码里
public class HTMLFilter extends ForumMessageFilter{ public ForumMessageFilter clone(ForumMessage message){ HTMLFilter filter=new HTMLFilter(); filter message=message; return filter; } public boolean isCheable(){ return true; } ...... HTMLFIlter 的clone方法实际就是在当前HTMLFilter实例中再生成一个同样的实例。这样在处理多个并发请求时,不用通过同一个过滤器实例进行处理,提高了性能。。。。 因为在DbFilterManager中是根据配置实用类反射机制动态分别生成包括HTMLFilter在内的过滤器实例,但是每种过滤器实例只有一个,为了使得大量用户不必争夺一个过滤器实例来实现过滤,就采取克隆方式。 这是原文。 这句话我不是很理解,还有就是原型模式的clone我也不是很理解,希望有朋友帮我!
|
|