跟我学软件系统表示层的模块设计中所涉及的J2EE核心设计模式——复合视图模式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1跟我学软件系统表示层的模块设计中所涉及的J2EE核心设计模式——复合视图模式
1.1.1复合视图模式
1、产生的背景
由于大多数基于Web的系统是由许多不同的网页或者视图构成。
每个视图都将包括一些专用的功能,如页面的导航条、树形目录和页面下面的联系地址等。
如果对于这些元素的代码和格式在多个使用它的视图页面中都重复出现,则系统会非常难于更新和维护。
如:
2、解决的方法---利用复合视图来划分成多个子视图
1)复合视图(Composite View) 设计模式定义了各种能够以有效地把一个用户的接口
划分成多个子视图的规则,并且可以被重新结合起来以生成需要的总体视图。
2)每个子视图构成一个单独的组件,复合视图可以与其他子视图分开维护、更新和增
强。
如常见的页面显示的格式为在屏幕顶部有一个Header View(标题视图),在这个标题下方和网页的左侧有导航视图,当然还有居中显示的Main Body(正文)视图。
3、复合视图的特性
MVC的一个重要特征就是View可以嵌套,是从原子组件创建累计表示(View)的灵活方案。
表示体系结构可以方便地组织基本视图组件,使表示灵活,还可以进行其他的工作,包括个性化和定制。
Struts中的Title标签库即是为了在JSP表示层中实现该复合视图的一种手段。
4、应用复合视图模式的主要目的
1)将对象组合成树形结构以表示"部分-整体"层次结构。
Composite使组合对象的使用
和单个对象的使用具有一致性效果。
2)简化客户端代码。
客户端不用知道某对象是简单对象还是组合对象,可以以一致的
方式使用这些对象。
3)更容易增加新类型的组件。
新的组件可以方便地加入已有组合对象中不用改变客户
端代码。
5、在JSP页面中实现复合视图模式的常用方法----利用JSP中的include指令和动作,如下面的代码示例:
<table border="0" valign="top" width="100%">
<tr>
<td><jsp:include page="templates/header.jsp"/></td> </tr>
<tr>
<td><jsp:include page="tenlolates/navigation.jsp"/></td> </tr>
<tr>
<td><jsp:include page="content/java_book_list.jsp"></td> </tr>
</table>
6、本项目中如何实现复合视图模式
由于本项目的各个JSP页面是采用Dreamweaver中的模板技术来实现的,只要更新模
板就可以更新相关的各个页面中的主导航条和页面下面的联系地址等。
7、复合视图模式的类图和序列图
(1)复合视图的类图
(2)复合视图的序列图。