-
J2EE 核心模式
收藏J2EE 核心模式(Core J2EE Patterns)相关心得和讨论
最近更新文章
随手记:为系统设计一套简易的JavaScript框架需要考虑的要素
最近在工作中做前端的重构,其中一个重要步骤就是设计一套简易的前端框架,把所想到的随手记下来:
物理和分布 js文件布局 模块化 依赖关系梳理 加载梳理
技能储备 JavaScript进阶 JavaScript面向对象 JQuery(或其他JavaScript基础框架)熟悉使用
规范和规则 JavaScript规范 对象化示例代码
框架内容 模型定义 ...
大型互联网应用的技术选型和决策,10条成功与失败的记录
作为以老版本为模子重做的解耦版本,这个大型互联网应用产品是从2009年中开始落地的。而我本人也是该版本的主创人员之一,到今日,团队已经发展到开发测试人数百人的大型互联网产品团队的规模,发布、割接和上线了许许多多个商用版本。
对架构的审视,对选型和设计的反思,不仅仅要在产品初创时期,更要在产品发展的整个过程中进行,团队做同类型产品的能力就是这样在不断总结和自我批评中成熟的。以下为个人观点,难免 ...
从错误页面的角度看用户体验
阶段一:
系统错误信息乃至错误堆栈被抛到页面上。
这是最原始的容错界面,在现在的网站中依然偶尔出现,这是糟糕的和不安全的,相信现在没有一个负责任的UCD专家会容忍这种现象的发生。
阶段二:
引导到简单的错误提示页面,例如:“系统忙”、“页面不存在”和“出错了”,或者一个简单的弹出框提示用户。
无论界面是美观还是简陋,这种方式都是原始的,并且是易于实现的。这是网站UCD的底线,如果您希 ...
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(七)
Web Service中转:暴露可通过XML和web协议访问的服务,并将对服务的请求转发给真实的服务组件。通常有许多Web Service是不希望暴露出来的,有时有一些服务又需要聚合起来使用,这时候就需要Web Service中转。在使用中转前的Web Service需要被改造,以支持中转的接口(例如一个本地接口)。这个模式和Facade很类似,只不过它的定位放在了远程接口上。
微架构:一组 ...
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(六)
集成层模式:
数据访问对象:Data Access Object。提炼和封装对持久化存储介质的访问。DAO封装了数据源的实现细节,总是面向API调用者提供统一的接口。DAO应当被实现为无状态的对象,这样就可以成为轻量的对象,不需要考虑线程、同步、缓存等问题,而把这些问题下沉到数据层去完成。
以我参与的项目的缓存的使用举例,模型DAO并不做任何的缓存行为,数据库使用自身的缓存能力,并且在必要 ...
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(五)
业务对象:利用对象模型把业务数据和业务逻辑分离开来。业务对象在最前端(客户端)和最后端(数据资源)都会进行业务数据形式的转化。业务对象的实现通常有两种方式:POJO + JDO 或者 Entity Bean + BMP/CMP。业务对象包含业务逻辑和业务状态。
J2EE系统中面向过程向面向对象转变有时甚至仅仅区别于最初的一念之差。没有什么是绝对的事情,如果业务非常简单,客户端通过浅浅的显示层,直接 ...
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(四)
业务层模式:
业务代表:Business Delegate。封装对业务服务的访问,隐藏服务层具体实现细节,主要为降低客户端和服务层之间的耦合。除了隐藏服务细节、处理服务异常等基础功能以外,还可以做服务的缓存。业务代表是客户端的直接客户,起到客户端业务抽象层的作用,而业务代表的另一头,常常连接着会话门面。
比较常用的情况就是在某种远程连接和业务处理的基础上,使用业务代表把这些细节统统包装起来 ...
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(三)
复合视图:Composite View。使用由多个原子化的子视图构成的复合视图。特点是组合是可以动态的,而页面布局又可以整体控制,和页面内容互相独立。
...
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(二)
我看的资料和这幅图有一些出入。
资料要去这里找:http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html
表现层模式:
拦截过滤器:Intercepting ...
J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(一)
第1章:导论。
模式能够:
利用一个经过验证可行的解决方案;
提供一套通用词汇;
约束解决方案的空间。
第2章:表现层设计考虑和不佳实践。
客户端验证:基于表单的验证、基于抽象类型的验证。
曾经在JSP中滥用过的助手类,通过助手类在页面和业务逻辑之间传递数据,有点类似于如今Struts中的Action作为传值模型时的情况。
表现层不佳实践:
多个视图中都包含控制代码;
表现 ...
Flash Scope
项目中遇到了一个潜在的问题,大致就是说,在一个流程的两个或某几个环节中,需要短暂地存储一部分对象(如果不存储,就需要在这几个环节中多次调用同一个外部接口,这被认为是不够合理的实现)。
而这部分对象的存储:
(1)如果用request,太小,毕竟一次提交以后就丢失了,如果需要往后传递,可能需要借助一些页面参数传值等丑陋或是不易控制的方法;
(2)如果用session,太大,我不需要在整个用户会话 ...