抽象类和模板方法模式和HttpServlet

时间:2015-03-23 12:26:53

标签: java servlets design-patterns abstract-class template-method-pattern

HttpServlet中没有任何抽象方法被声明为抽象类,关键字为abstract。 doGet和其他人不是抽象的方法。那么为什么HttpServlet被声明为没有任何抽象类的抽象类?

HttpServlet是模板方法模式的一个例子吗?

模板模式和模板方法模式是什么。差异是什么?

1 个答案:

答案 0 :(得分:1)

HttpServlet被声明为抽象,因为您要将其子类化。就其本身而言,它不会提供太多有用的行为,因此您应该扩展类并为一个或多个方法定义自己的行为(最常见的是doGetdoPost)。

是的,HttpServlet是模板方法模式的一个示例。 doXXX方法中的HttpServlet方法是从service方法调用的。换句话说,我们有一个模板方法(service)将其一些处理推迟到子类中定义的各个方法。这些方法是在编译时选择的,因此这是模板方法模式的一个示例。

另见: