美文网首页
模板方法设计模式

模板方法设计模式

作者: 神豪VS勇士赢 | 来源:发表于2018-07-30 12:01 被阅读2次

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

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

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

    }

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

    相关文章

      网友评论

          本文标题:模板方法设计模式

          本文链接:https://www.haomeiwen.com/subject/gijxvftx.html