模板方法设计模式在抽象类中的应用

假设某个项目的所有Servlet类都要用相同的方式进行权限判断、记录访问日志和处理异常,那么就可以定义一个抽象的基类,让所有的Servlet都继承这个抽象基类,在抽象基类的service方法中完成权限判断、记录访问日志和处理异常的代码,在各个子类中只是完成各自的业务逻辑代码,伪代码如下:

父类:

 1 public abstract class BaseServlet extends HttpServlet{
 2     public final void service(HttpServletRequest request, HttpServletResponse response) throws IOExcetion,ServletException    {
 3         记录访问日志
 4         进行权限判断
 5         if(具有权限){
 6             try{
 7                 doService(request,response);
 8         }
 9             catch(Excetpion e)    {
10                     记录异常信息
11             }
12         }
13     } 
14     protected abstract void doService(HttpServletRequest request, HttpServletResponse response) throws IOExcetion,ServletException;  
15     //注意访问权限定义成protected,显得既专业,又严谨,因为它是专门给子类用的
16 }

子类:

1 public class MyServlet extends BaseServlet{
2     protected void doService(HttpServletRequest request, HttpServletResponse response) throws IOExcetion,ServletException{
3         本Servlet只处理的具体业务逻辑代码
4     } 
5 }

父类方法中间的某段代码不确定,留给子类干,就用模板方法设计模式。

转载于:https://www.cnblogs.com/jixiaohua/p/10421129.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值