J2EE 核心模式
收藏

J2EE 核心模式(Core J2EE Patterns)相关心得和讨论

分享到: Sina Tec

最近更新文章

MVC框架的映射和解耦

最近在写一个业务上用到的框架,回想起接触过的一些MVC框架,尤其是主要贡献在后端表现层上的那些,它们之间有太多的相似,在不断解耦的过程中,层数和模块数也越来越多,需要不断引入层与层之间的映射逻辑将不同层次之间关联起来,我们不妨来查看一下这个过程,能否寻找一些MVC框架的共性和启示。 MVC 1到MVC 2模型的进化 这个话题有点老。MVC 1在桌面程序中应用较多,业务逻辑当然放在Model ...
RayChase 评论(4) 有4612人浏览 2012-10-21 21:22

分页的那些事儿

最近同事在讨论一个关于分页的话题,我在此简单整理一下对于分页的认识。 首先,分页是什么层面上的事儿?是数据访问层面、业务层面还是展示层面? 对于数据访问层来说,具体说,对于查询接口,需要一个“from”参数和一个“to”参数,就可以做到获取查询结果集中特定的记录了,它不应该知道任何关于第几页和每页有几条数据这样的信息,这种信息应该是在上层的展示层面所关心的。 举例来说,有这样的接口调用( ...
RayChase 评论(6) 有5114人浏览 2012-10-13 19:53

看透面向对象的复用技术

本文翻译自这篇文章,这篇文章写于1998年,作者是Scott Ambler,真的挺久远了。看看上个世纪末的时候,程序员的视角和观点。 想从面向对象复用技术 ...
RayChase 评论(0) 有3313人浏览 2012-10-07 15:52

对象转换的问题

  有句话叫做“计算机科学领域任何问题,都可以间接的通过添加一个中间层来解决”,但是唯一解决不了的问题,是层次本身过多的问题。每一层内都会维护自己在乎的数据对象模型。层与层之间数据的传递,就不可避免地遇到对象类型转换的问题。 这个话题也和最近的项目有关。我们在重构一个老旧的系统,所做的第一件事情,就是要把数据访问层从原有系统中剥离出来,我们精心设计了这一层的模型和结构,但是要让原有系统平缓地从原 ...
RayChase 评论(10) 有6905人浏览 2012-09-29 15:56

DAO的演进

这个思考源于最近项目中对DAO的使用和讨论。数据访问对象,在贫血模型下,要怎样去设计,框架需要完成什么,后续的开发人员需要关注什么,设计的时候到底需要把握怎样的粒度? 最早做项目的时候,是老老实实给每个必要的模型增加DAO接口和实现类的:
RayChase 评论(0) 有3123人浏览 2012-09-28 23:33

设计一套缓存框架需要关注的要素

最近关注了一些缓存框架的特性和实现,包括OSCache、JCS、Ehcache、Memcached等等,公司的两个缓存框架,以及一个标准JSR 107(JCache),发现一些诸多类同的 ...
RayChase 评论(0) 有8105人浏览 2012-06-04 00:38

Ehcache详细解读

Ehcache 是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hibernate的缓存开始的。网上中文的EhCache材料以简单介绍 ...
RayChase 评论(18) 有254866人浏览 2012-05-31 17:44

OSCache框架源码解析

OSCache是一个受到争议的开源缓存框架,OpenSymphony网站已经关闭(OpenSymphony可是诞生过Quartz、WebWork、SiteMesh和OGNL等数个非常有名的框架的)了,它也已经 ...
RayChase 评论(1) 有19816人浏览 2012-05-18 00:09

网站性能优化的三重境界

这篇文章是关于网站性能优化体验的,性能优化是一个复杂的话题,牵涉的东西非常多,我只是按照我的理解列出了性能优化整个过程中需要考虑的种种因素。点到为止,包含的内容以浅显的介绍为主,如果你有见解能告知我那再好不过了。无论如何,希望阅读它的你有所收获。   我眼中的网站性能问题都反映了一个网站的“Availability”(中文叫做可用性,但是这个翻译也不足够达意),以往我的认识是,这个网站如果全部或 ...
RayChase 评论(5) 有5036人浏览 2012-04-19 00:18

Web页面的聚合技术

近接触到了Mason,并且了解到了它基础之上的一个MVC框架实现,随即联想到做网站以来接触到的各种各样的页面聚合的场景,颇有意思。   页面聚合本身是一种“分而治之”的思想,把复杂的页面分割成可以被重用和独立维护的部分,这些部分的来源灵活,可以来自同一个web app中,也可以来自不同的域;可以聚合独立的子页面(页面集成),也可以聚合数据(数据集成),甚至可以聚合子呈现(模板集成)。   客 ...
RayChase 评论(1) 有5697人浏览 2012-04-11 01:10

再议单例模式和静态类

单例模式还是静态类,这是一个老话题了,从我刚开始接触Java的时候就看到这样的讨论。在这里我总结一下,也添加一点点新东西。   首先要澄清和区别一些概念,“静态类”和“所有方法皆为静态方法的类”。   严格说来,Java中的静态类,指的是“static class”这样修饰的类定义,语法上的要求,使得这样的类一定是内部类,换言之,“静态内部类”是对它的完整定义。静态内部类最大的好处在于可以隐 ...
RayChase 评论(8) 有21457人浏览 2012-03-31 00:35

关于“异步”,从Amazon的工作流框架中获得的思考

紧接着上篇文章 ,云平台的工作流框架AWS Flow Framework给我带来的另一个有所感触的话题是“异步”:     这个框架把异步的行为划分为Workflow端执行的部分和Activity端执行的部分,Workflow控制工作流程,Activity执行具体的工作流task,二者都以poll的模式不断从中心SWF去获取任务。对于开发者来说,用类似这样简单的代码,就完成了整个工作 ...
RayChase 评论(0) 有3690人浏览 2012-03-03 21:44

关于“无状态”,从Amazon的工作流框架中获得的思考

这个话题是从我对Amazon云平台的工作流框架AWS Flow Framework的使用研究中想到的,对于一个工作流引擎来说,一个完整工作流的某个阶段完成后,当前阶段的状态必须要被存储下来。   Workflow(Decider)来决定任务的执行流程,Activity来执行实际的任务,二者都封装在相应的Worker中执行,但不直接交互,而是通过SWF管理起来。不过,除了SWF的日志,它们都不 ...
RayChase 评论(0) 有3429人浏览 2012-03-02 23:16

画圆画方的故事

这个故事最初是来自和发哥的一次聊天,他说了一些面向对象设计方面挺有意思的事情,包括Double Dispatch(下面会提到),我根据我自己的体会和思考,把这些零散的片段重新整理成一个小故事,欢迎感兴趣的同学一起讨论。   有一个苦逼的程序员,叫做小P。   有一天,老板给他传达了这样一个需求,根据用户不同的图像绘制事件,画出一个圆或者是画出一个方块来。 老板传达的图像绘制事件是这样的: ...
RayChase 评论(4) 有2357人浏览 2012-02-25 22:41

如何思考面向对象

在学习了面向对象的语言,比如Java、Python和Ruby之后,看起来每个人都觉得自己在进行面向对象的编码。但是如果你仔细审视一下代码,你就会发现还是 ...
RayChase 评论(4) 有2898人浏览 2012-01-31 13:06

同步、异步转化和任务执行

正如动静是相对的概念,有了它们,世界才充满盎然生气;变和不变也是哲学上的对立统一,在代码的世界里也一样;同步异步呢?在这一篇文字里面已经很粗略地提到了同步和异步各自有些什么好处,接下来,我不妨说一些同步和异步互相转化的故事。   先来看看这一段代码:   setTimeout(function(){ while(true){ alert("In"); } ...
RayChase 评论(0) 有4237人浏览 2012-01-24 22:23

贫血模型和充血模型

这两个概念是早些时候Martin Fowler总结出来的两种常见模型设计类型,没有说谁好谁不好,为不同的模型类别选择合适的场景是设计者的工作。没有工具 ...
RayChase 评论(10) 有6422人浏览 2011-12-28 00:33

持久层设计某次泛化讨论的几个思路

表设计基于模型和业务约束的要求: 1、表的设计必须从系统建模开始,提供ER图,表结构遵循范式要求。 2、考察几个数据处理异常复杂的点,包括需要使用存储过程的场景。 3、异步数据存取场景的识别。 4、旧有数据的兼容。   大数据量下可用性的要求: 1、大表的识别和设计,确定索引,避免大表JOIN操作。 2、一次用户请求事务中,至多执行两次commit操作。Oracle写回滚日志的关系, ...
 
RayChase 评论(0) 有2370人浏览 2011-11-27 20:02

提高数据库查询速度的几个思路

提高数据库查询速度的几个思路   1、缓存,在持久层或持久层之上做缓存。 2、数据库表的大字段剥离,保证单条记录的数据量很小。 3、恰当地使用索引。 4、必要时建立多级索引。 5、分析Oracle的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描。 6、表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区 ...
RayChase 评论(0) 有4886人浏览 2011-11-19 12:23

从后端设计来类比前端设计的思考

今天同事的一句话给我留下深刻的印象:“前端也有MVC,DOM树就是这个M,CSS就是这个V,至于C,非JavaScript莫属”。   很高兴团队中有越来越多的人能 ...
 
RayChase 评论(1) 有3766人浏览 2011-11-04 20:46
  • 专栏创建者:RayChase
  • 创建时间:2011-12-01 16:45:44
  • 专栏文章数:36篇
  • 专栏被浏览:408134 次

本专栏热门文章

最新评论

一般采用json
mack 评论了 对象转换的问题
其实不能说程序员懒惰,只能说程序员不喜欢做重复的事情。
编程小子- 评论了 MVC框架的映射和解耦
没怎么明白呢
ydqwtt 评论了 Ehcache详细解读
那对比与Apache提供的BeanUils(当然,这仅是对简单地对象,map转化),两者之间的效率差别 ...
liaomengge 评论了 对象转换的问题
zxg_javaeye 写道谢谢分享!我想请教下楼主一个问题我现在有一个网站程序,一个后台cms程序网 ...
wangyan2009 评论了 Ehcache详细解读
楼主,大牛
AKka 评论了 Ehcache详细解读
收藏收藏收藏收藏收藏
fayjack 评论了 Ehcache详细解读
java ehcache框架demo使用实例教程源代码下载:http://www.zuidaima.c ...
2047699523 评论了 Ehcache详细解读
谢谢分享!我想请教下楼主一个问题我现在有一个网站程序,一个后台cms程序网站程序共部署两台,cms部署 ...
zxg_javaeye 评论了 Ehcache详细解读
suneyejava 写道其实不能说程序员懒惰,只能说程序员不喜欢做重复的事情。
1458272482 评论了 MVC框架的映射和解耦
Global site tag (gtag.js) - Google Analytics