1700485330
return view.getURI();
1700485331
1700485332
}
1700485333
1700485334
}
1700485335
1700485336
通过桥梁模式我们把不同的语言和不同类型的视图结合起来,共同提供一个多语言的应用系统,即使以后增加语言也非常容易扩展。
1700485337
1700485338
1700485339
1700485340
1700485341
设计模式之禅 38.1.5 工具类
1700485342
1700485343
每个框架或项目都有大量的工具类,我们的MVC框架也不例外。我们先来看操作XML文件的工具类,不可能自己读写XML文件,我们使用DOM4J来实现,它在大文件的处理上性能很有优势,而且比较简单,架构也非常优秀。
1700485344
1700485345
使用DOM4J从XML文件中读出的对象是节点(Node)、元素(Element)、属性(Attribute)等,这些对象还是比较容易理解的,但是不能保证一个开发组的人对这些都了解,因此需要把它转换成每个开发成员都理解的对象,比如我们处理这样一段XML代码,如代码清单38-26所示。
1700485346
1700485347
代码清单38-26 XML文件片段
1700485348
1700485349
<action name=“loginAction”class=”{类名全路径}“method=“execute”>
1700485350
1700485351
<result name=“success”>/index2.jsp</result>
1700485352
1700485353
<result name=“fail”>/index.jsp</result>
1700485354
1700485355
</action>
1700485356
1700485357
使用DOM4J查找到该节点是一个Node对象,如果要取得属性,就需要转换为一个元素(Element)对象,这不是每个开发成员都能理解的,于是给架构师提出的问题就是:如何把一个DOM4J对象转换成自己设计的对象。答案是适配器模式,我们首先定义一个Action节点类,如代码清单38-27所示。
1700485358
1700485359
代码清单38-27 Action节点类
1700485360
1700485361
public abstract class ActionNode{
1700485362
1700485363
//Action的名称
1700485364
1700485365
private String actionName;
1700485366
1700485367
//Action的类名
1700485368
1700485369
private String actionClass;
1700485370
1700485371
//方法名,默认是execute
1700485372
1700485373
private String methodName=“excuete”;
1700485374
1700485375
//视图路径
1700485376
1700485377
private String view;
1700485378
1700485379
public String getActionName(){
[
上一页 ]
[ :1.70048533e+09 ]
[
下一页 ]