J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(五)

J2EE核心模式 Core J2EE Patterns 中文版 part1 of 2 中文版压缩成2卷,这是第一卷。   本书讲解使用J2EE核心技术实现企业应用过程中的模式、最佳实践、设计策略以及经过验证的解决方案,涵盖了JSP、servlet、EJB、JMS等技术,其中J2EE模式目录包括21个模式以及大量策略,帮助读者迅速熟练掌握J2EE技术,从而构建出健壮、高效的企业应用。本书是计算机应用开发人员、架构师、技术经理等人员的必备参考书。 立即下载

业务对象:利用对象模型把业务数据和业务逻辑分离开来。业务对象在最前端(客户端)和最后端(数据资源)都会进行业务数据形式的转化。业务对象的实现通常有两种方式:POJO + JDO 或者 Entity Bean + BMP/CMP。业务对象包含业务逻辑和业务状态。

J2EE系统中面向过程向面向对象转变有时甚至仅仅区别于最初的一念之差。没有什么是绝对的事情,如果业务非常简单,客户端通过浅浅的显示层,直接访问持久层、甚至数据资源存储中业务数据,整个过程中,其结构都是依据客户端所需数据的获取过程来完成的,是典型的面向过程的实现方式,没有什么不合理;但一旦情况复杂了,你也许希望在系统中设定一些核心的业务模型,让它们来驱动整个服务的提供和流程的运转,而不再是客户端无任何包装的需求,这时候兴许就变成了模型驱动下的面向对象行为。

 

复合实体:Composite Entity。结合本地entity bean和POJO,实现业务对象持久化。复合实体能够把一组相互关联的业务对象聚合为粗粒度的entity bean实现。业务对象被实现为父对象和从属对象,从属对象紧耦合与父对象,且无法独立存在或独立被访问、识别和管理。无论使用远程对象还是本地对象实现复合实体,都不应该直接把entity bean暴露给客户端,而应当封装在门面里面。

实际我们的项目中,给内容超市部分,封装了核心的API,而API的调用传值,都是通过复合实体——各种Event完成的。这是一个很好的例子,就算日后将API扩展成可远程调用的方法,性质并未改变。

脏数据标示器策略:对复合实体持久化的时候,如果能判断哪些从属对象是脏的,就可以提高持久化性能。

传输策略可以考虑单次传输整个复合实体,减少网络交互;可以结合脏数据标示器,只传输变化的部分;可以结合懒加载策略,只传输需要的部分。

 

传输对象:Transfer Object。跨层次传输多种数据元素。有一种简化远程对象和远程接口的方法是,把众多get/set方法合并成粗粒度的getDate和setData方法。我们通常希望传输对象是简单和可控的,因此粒度不应过细,细节应尽量屏蔽,对于接口的定义,应该尽少约束。

日后我们系统的API扩展必然面临着复合实体传输的情境,API的远程调用已渐渐变得广泛,比如JavaEye支持API调用,使用JSON作为数据形式;我们常用的Blog客户端也是遵从的简约的API规范开发的。

 

传输对象组装器:Transfer Object Assembler。复合传输对象的形式构建应用模型。从各种不同的业务组件和业务服务中聚合多个传输对象,并且最后把复合对象返回给客户端。最大的好处:减少了客户端和应用模型之间的耦合。对于不同的传输形式,就并不需要应用模型做任何的改变,搭配不同的传输对象组装器和传输策略即可。

系统的页面集成中涉及到的会话信息的传递,提供了几种策略,就涉及到SpringHTTPInvoker传输、OSCache传输、本地传输和void传输等相应的对象组装器。

 

值列表处理器:Value List Handler。执行查询、缓存结果,并让客户端遍历、选择查询结果。基本上相当于封装了一个游标,共客户端遍历操作,但是如果这个游标是远程的,注意可能造成巨大的性能消耗。

我们的系统中设计了一个类:PaginationSupport,用于分页,其角色便类似于值列表处理器。需要查询哪一块区域的数据集合,就传递相应的游标指令。

core j2ee patterns 2nd editioin 核心的J2EE设计模式 立即下载

相关推荐

Core J2EE Patterns

Core J2EE Patterns

Core J2EE Patterns - Data Access Object

In computer software, a data access object (DAO) is a pattern that provides an abstract interface to some type of database or other persistence mechanism. By mapping application calls to the persistence layer, the DAO provides some specific data operations

来啊 快活啊 3907

Core J2EE Patterns(英文版)

J2EE 核心设计模式。Interceptiong Filter、Service Locator 、BUsiness Delegate 等。

“那本”J2EE书——《J2EE核心模式》(第二版)译者序

“那本”J2EE书刘天北 熊节(原文刊登于《中华读书报》2005年2月23日号)  翻开这本《J2EE核心模式》,你首先就会注意到软件方法论领域的两位大师GradyBooch和MartinFowler撰写的序言。在这样两份序言后面再附上一篇“译序”,这个念头本身就足够荒谬和僭越,不啻于在莎翁之后再写一出关于丹麦王子复仇的剧本。大师们的判断是中肯而毫不含

透明思考@优快云 9158

Core J2EE Patterns(Second Edition)

真的能打开,是.chm格式的,别的地方已经很难找了 自己下载分快不够了,才来赚点分,我也不贪心,就3分 谁觉得值的或者用得着的就下

CoreJ2EE_Patterns2nd_pdf_chm.rar

The book of CoreJ2EE_Patterns2nd is very good book to study J2EE,it contains both pdf and chm formats.

J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(汇总帖)

J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(一) J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(二) J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(三) J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(四) J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(五) J2EE 核心模式(Core J2EE Patterns)学习

四火专栏 1692

J2EE核心模式(Core J2EE Patterns)

关于J2EE设计模式的经典著作,由SUN资深工程师经验写就。

J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(一)

第1章:导论。 模式能够: 利用一个经过验证可行的解决方案; 提供一套通用词汇; 约束解决方案的空间。   第2章:表现层设计考虑和不佳实践。 客户端验证:基于表单的验证、基于抽象类型的验证。 曾经在JSP中滥用过的助手类,通过助手类在页面和业务逻辑之间传递数据,有点类似于如今Struts中的Action作为传值模型时的情况。 表现层不佳实践: 多个视图中都包含控制代码; 表现层数据结构暴露给业务层或者业务领域对象,比如:暴露HTTPServletRequest; 重复提交表单;

四火专栏 3695

【干货攻略】Oracle报错篇 ORA-01378 磁盘扇区大小不兼容问题

本期将为大家分享“ORA-01378 磁盘扇区大小不兼容”报错的问题解决方案。

PWY13148的专栏 1437

联想ThinkPad声卡驱动安装避坑指南:从E470到X1 Carbon的通用解法

本文详细介绍了ThinkPad声卡驱动安装的全流程,从硬件识别到驱动获取、安装技巧及深度排错。涵盖E470到X1 Carbon等不同机型的通用解法,帮助用户解决音频驱动问题,提升使用体验。重点讲解了声音驱动的精准识别和安装策略,确保系统稳定运行。

weixin_29207439的博客 707

J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(四)

业务层模式:   业务代表:Business Delegate。封装对业务服务的访问,隐藏服务层具体实现细节,主要为降低客户端和服务层之间的耦合。除了隐藏服务细节、处理服务异常等基础功能以外,还可以做服务的缓存。业务代表是客户端的直接客户,起到客户端业务抽象层的作用,而业务代表的另一头,常常连接着会话门面。 比较常用的情况就是在某种远程连接和业务处理的基础上,使用业务代表把这些细节统统包装起来,给内部提供的模型也好API也好,都是和外部接口相异的。比如一个系统中对于展现的内容数据的同步,以及订购、使用

四火专栏 1388

实例讲解Simulink CAN通讯丢失故障判定模型搭建及仿真测试验证方法

本文通过ABS通讯丢失故障触发、判定条件Simulink模型的搭建和仿真的讲解,介绍了一种控制器CAN通讯丢失故障判定的方法和建模方法,希望能给相关技术人员带来一定参考和帮助。

qq_43011586的博客 3684

以功能开发者角度理解J2EE核心模式(Core J2EE Patterns)

一. 目标 模块化、松耦合、紧内聚、提高可维护性和重用性。这些我们听得最多了,看起来很空,但模式确实做到了。实现主要用到:封装、分层、AOP 二. 理解 我粗劣看完《J2EE核心模式》第二版,有一些理解。我要用通俗的语言,随意的文字来描述,即使我成不了专家我也这么做。随意写,不严谨,不负责。 为什么要使用模式?   答:高端大气上档次!具体参照文章头部 模式怎么来? 答:模式是总结出

鱿鱼 2393

GPU架构(1.1)--介绍 GPU的 VPU(Vision Processing Unit)架构

基于自研的 VPU(Vision Processing Unit)架构,专为高性能图形处理和深度学习设计。VPU 架构通过优化计算单元、内存层次结构、同步机制和指令流水线,提供了卓越的性能和能效。VPU 架构通过优化计算单元、内存层次结构、同步机制和指令流水线,提供了卓越的性能和能效。这种架构不仅适用于高性能图形处理,还广泛应用于深度学习、科学计算和边缘计算等领域。通过了解 VPU 架构的详细设计和工作原理,读者可以更好地利用这些先进的 GPU 技术,开发出高效、可靠的计算系统。

MHD0815的博客 1298

使用 ABAP 代码动态创建新的 Function Module

通过内表。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 6904

J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(三)

复合视图:Composite View。使用由多个原子化的子视图构成的复合视图。特点是组合是可以动态的,而页面布局又可以整体控制,和页面内容互相独立。 有这么几个常见的例子:Portlet就是一个复合视图结合的最好例子,主题可以影响到所有视图的呈现,又是和展示的具体内容没有关系的,Portlet可以在服务端做到视图的聚合,而不把事情遗留到客户端完成,不涉及浏览器跨域的安全性问题;SiteMesh是一个很适合对页眉、页脚等页面通用元素拼装的框架,比jsp:include标签优雅;更小维度上,标签的引用也可以

四火专栏 1676

【推荐100个unity插件之2】 DoTween动画插件的安装和使用整合(最全)

摘要:DOTween动画插件使用指南 DOTween是Unity中强大的动画插件,比原生动画更便捷。安装后需进行初始化设置,通过工具菜单生成程序集。主要提供通用方法(DOTween.To)和便捷方法(如transform.DOMove)两种动画实现方式。插件支持丰富的动画设置(循环、缓动等)和事件回调(OnComplete、OnKill)。还提供动画管理功能,包括清除(DOTween.Clear)、完成(DOTween.CompleteAll)和终止(DOTween.KillAll)动画。常用功能涵盖移动、

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1万+

J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(二)

我看的资料和这幅图有一些出入。 资料要去这里找:http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html   表现层模式:   拦截过滤器:Intercepting Filter。正如图中的“Apply zero or more”和Servlet规范所述一样,应当具备一个链式结构。这个链式结构中的每个...

zljpp的专栏 140

DeepSeek+Dify之一安装部署

DeepSeek添加知识库

yilvyangguang520的博客 1544

汽车IVI中控开发入门及进阶(九):显示屏

显示屏Display panel和触控屏Touch panel,可以说随着汽车四化的进展,屏越来越多,越来越大,越来越高清,成为IVI中控、智能座舱系统的重要组成部分。比如如下一个电阻触摸屏。正文:显示屏主要功能就是显示,车载内容和信息的传递全靠显示屏,目前车载显示屏的种类可以分为:LCD液晶显示屏(TFT(薄膜晶体管)驱动的有源矩阵液晶显示,再细分IPS、TFT、SLCD,这几个子类)、LED显示屏(用 LED发光二极管作为背光光源)、OLED 显示屏。

码农17年的博客 2525

J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(六)

集成层模式:   数据访问对象:Data Access Object。提炼和封装对持久化存储介质的访问。DAO封装了数据源的实现细节,总是面向API调用者提供统一的接口。DAO应当被实现为无状态的对象,这样就可以成为轻量的对象,不需要考虑线程、同步、缓存等问题,而把这些问题下沉到数据层去完成。 以我参与的项目的缓存的使用举例,模型DAO并不做任何的缓存行为,数据库使用自身的缓存能力,并且在必要时冗余字段,这是基于数据粒度的基础缓存;到了调用DAO的业务层面,比如Service层,才进行业务模型粒度的缓

四火专栏 1215

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(七)

Web Service中转:暴露可通过XML和web协议访问的服务,并将对服务的请求转发给真实的服务组件。通常有许多Web Service是不希望暴露出来的,有时有一些服务又需要聚合起来使用,这时候就需要Web Service中转。在使用中转前的Web Service需要被改造,以支持中转的接口(例如一个本地接口)。这个模式和Facade很类似,只不过它的定位放在了远程接口上。   微架构:一组被同时使用的模式,用于实现系统中的一个特定部分(子系统)。每一个微架构是独立和内聚的积木块,由它们构成整个系统

四火专栏 1155

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(四)
下一篇: J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(五)
RayChase
博客等级 码龄20年 71粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值