JUnit in Action关于Controller的简明阐述

     最近做了几个Struts的J2EE项目,这段时间集中精力研究这个。今天在一本书上看到了关于Controller 的简要说明。简明扼要,看了让人眼前一亮。

这里做些摘抄。

     书上以一个简单的Controller为例。

 

1 public interface Request{
2 String getName();
3 }
4
5  public interface Response{
6 }
7
8 public interface RequestHandler{
9 Response process(Request request)throws Exception;
10 }
11
12 public interface Controller{
13 Response processRequest(Request request);
14 void addHandler(Request request,
15 RequestHandler requestHandler);
16 }
17 }

 在这个Controller中

1、定义了一个Request接口。并且有一个可以返回请求的具有独一无二名字的方法,这样就可以区分不同的请求。

2、Response接口封装了之后可能要处理的东西

3、定义一个可以处理Request并且能够返回Response的方法,这个方法抛出Exception。因为这个方法,设计为处理各种“肮脏的工作”,可能会抛出

     任何的异常(相当于Struts中的各种Action)

4、接下来定义一个用来处理收到的请求的方法,在接收到请求之后,Controller就把请求分发到相应的RequestHandler。需要注意的是,这里的processHandler

     并没有声明任何异常,因为这里的所有异常都在内部处理,一旦抛出了异常到JVM或者Servlet中,就会出现令人恶心的错误页面,用户体验就比较差了

5,、最后的addHandler是设计需要,它可以使你扩展controller但是不修改源代码

posted @ 2010-04-24 15:32  明之道  阅读(394)  评论(0编辑  收藏  举报