复合视图:Composite View。使用由多个原子化的子视图构成的复合视图。特点是组合是可以动态的,而页面布局又可以整体控制,和页面内容互相独立。
有这么几个常见的例子:Portlet就是一个复合视图结合的最好例子,主题可以影响到所有视图的呈现,又是和展示的具体内容没有关系的,Portlet可以在服务端做到视图的聚合,而不把事情遗留到客户端完成,不涉及浏览器跨域的安全性问题;SiteMesh是一个很适合对页眉、页脚等页面通用元素拼装的框架,比jsp:include标签优雅;更小维度上,标签的引用也可以认为是视图的复合。
视图的复合增进了视图模块化和重用能力,这方面来看是增加了可维护能力;但是另一方面,一个完整的直观的页面被拆得七零八落,又降低了可维护性,为了解决这个问题,我觉得对于一个大型Web应用,一个好的思路是提供一种工具,至少是一个简易的指导方法,从页面的某一部分元素快速定位到具体的最小视图上;另外,视图的复合带来了服务端拆解和部署的灵活性,但一定也带来性能损耗,Portlet聚合尤为明显。
还有一个重要的事项是,页面布局需要和页面内容相独立。一个较大的视图拆解成若干个小的子视图,这些小的子视图应当具备独立的展示内容,但是页面的布局不应当有其中的任一子视图控制,而可以落到某一个整体的主题定义中去。
服务到工作者:Service To Worker。集中控制权管理和请求的处理,再把控制权交给视图之前获取表现模型。视图则根据获得的表现模型生成一个动态响应。这个模式是由前端控制器、应用控制器和视图助手组合而成的。具体说:前端控制器集中了访问视图的逻辑,然后应用控制器完成了视图导航,最后由视图助手协助准备了视图所使用的模型数据。
分配器视图:Dispatcher View。把视图本身作为请求的最初访问点,把业务处理的逻辑交由视图完成。
服务到工作者和分配器视图是非常类似的两种模式,前者以进视图前的逻辑处理为核心,后者才真正以视图为核心。当业务处理比较简单,或者不能合适地通过视图之外的逻辑来控制时,可以采用分配器视图模式,把控制逻辑放到视图中。在这种方式下,不代表分配器视图做了所有的业务逻辑,对于数据的准备完全可以在进视图之前完成,毕竟视图中完成大量的业务逻辑通常不是一个优秀的解决方案。
一个很好的例子就是页面集成,进入集成页之前准备好集成的子页面的URL,到了集成的父页面中再执行拼装操作,这个行为,甚至可能被到客户端才完成。这种情形下,尽管页面去做了聚合视图的事,但这恰恰是页面最擅长的行为,比进页面之前把数据准备好、拼装好再一并写入页面要可见和可接受得多。
文章系本人原创,转载请注明作者和出处
分享到:
相关推荐
《J2EE核心模式(Core J2EE Patterns)》是一本深度探讨J2EE平台设计模式的权威著作,由SUN公司的资深工程师倾力撰写。这本书是Java企业级开发者的必备参考书籍,它揭示了在复杂的企业级应用开发中,如何有效地利用...
本书讲解使用J2EE核心技术实现企业应用过程中的模式、最佳实践、设计策略以及经过验证的解决方案,涵盖了JSP、servlet、EJB、JMS等技术,其中J2EE模式目录包括21个模式以及大量策略,帮助读者迅速熟练掌握J2EE技术...
《J2EE Core Design Patterns》是一本专注于Java企业级应用开发中的核心设计模式的重要书籍。设计模式是软件工程中经过实践验证的、解决特定问题的模板,尤其在复杂如J2EE(Java 2 Platform, Enterprise Edition)...
### J2EE核心模式——最佳实践与设计策略 #### 一、引言 《J2EE核心模式:最佳实践与设计策略》是一本由Deepak Alur、John Crupi和Dan Malks编写的权威指南,它深入探讨了Java 2 Enterprise Edition(J2EE)平台下...
《Core J2EE Patterns》是Java企业级应用开发的经典之作,它详细介绍了在J2EE平台上构建可扩展、高效、可维护的系统所使用的最佳实践和设计模式。这本书的第二版源码对于深入理解J2EE开发中的核心概念和技术具有极高...
在研究多种J2EE Web框架和J2EE核心模式的基础上,提出了一种基于J2EE核心模式的组合Web框架--CWFBP(Composite Web Framework based on core J2EE Patterns)模型.框架采用分层体系架构,集成了开源的J2EE Web框架和持久...
《核心的J2EE设计模式》是一本专为Java企业级开发者编写的经典著作,它深入探讨了在J2EE平台上构建可扩展、高效且可维护的系统所使用的最佳实践和设计模式。这本书的第二版进一步更新了内容,以适应不断演进的Java...
Core J2EE Patterns
二、J2EE核心模式 1. **单例模式**:在J2EE环境中,单例模式常用于创建全局唯一的服务器端组件,例如应用配置对象或事务管理器。 2. **工厂模式**:用于动态地创建对象,特别是在需要依赖注入或需要隔离具体实现时...
《J2EE核心模式》源代码解析 J2EE(Java 2 Platform, Enterprise Edition)是Java平台上用于构建企业级应用程序的框架。它提供了一组服务、APIs和协议,以支持开发分布式、多层的企业应用。《J2EE Core Patterns》...
通过学习和应用这些J2EE核心模式,开发者能够更高效地构建可扩展、可维护的企业级应用。例如,EJB.Design.Patterns.Chinese.eBook-YSSY这个文件很可能是这本书的中文电子版,里面详细解释了上述各种模式的实现细节和...
《SUN - Core J2EE patterns》不仅是一本关于J2EE模式的指南,更是一本实用的开发手册,它涵盖了从理论到实践的全过程,对任何希望深入了解J2EE架构并掌握其核心模式的开发者来说,都是一本不可或缺的参考书籍。...
通过学习《Core J2EE Patterns》第二版,开发者可以掌握J2EE开发的核心概念和技术,提升在大型企业级项目中的设计和实现能力。这本书对于想要深入了解J2EE平台和构建高质量企业应用的开发者来说,是一本不可多得的...
标题《Core J2EE Patterns Best Practices And Design Strategies》和描述部分介绍了软件设计模式的重要性,将设计模式比喻为一个组织的“部落记忆”的有形体现。设计模式是解决常见问题的通用解决方案,它源自之前...
本书《J2EE Design Patterns Applied》旨在为读者提供一套全面的指南,通过实际案例深入探讨如何在J2EE环境中应用各种设计模式来解决常见问题。对于那些熟悉J2EE组件如Servlets、JSP页面和EJBs开发与部署的开发者来...
中文译名:J2EE设计模式 作者: (美)William Crawford & Jonathan Kaplan <br/>本书一边在持久化和消息通信等领域中描述一些新模式,一边向你说明如何在J2EE应用的上下文中实现许多模式。有助于考虑问题...
### Core J2EE Patterns:拦截过滤器模式 (Intercepting Filter) #### 背景与情境 在J2EE环境中,请求处理机制需要处理多种类型的客户端请求,这些请求可能涉及不同的处理逻辑。例如,某些请求可能直接转发到相应...