请教prototype模式!

在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我也不是很理解,希望有朋友帮我!

請banq大哥多多指點指點設計模式!!!

这里关于HtmlFilter的解释是从性能角度来看,这有失偏颇,HtmlFilter是一个单例,而HtmlFilter中包含message这个状态,这个状态值对于每个帖子是不一样的,所以,如果只用一个HtmlFilter,同时有多个帖子显示调用HtmlFilter时,会共同读写同一个htmlFilter的同一个message状态,那就乱了。

关于克隆是原型的一种实现,实现原型不一定使用克隆。Java克隆IBM有一篇文章写得很深刻,可查查看看。