设计模式
dennis_zane
这个作者很懒,什么都没留下…
展开
-
设计模式之事务处理
事务处理是企业应用需要解决的最主要的问题之一。J2EE通过JTA提供了完整的事务管理能力,包括多个事务性资源的管理能力。但是大部分应用都是运行在单一的事务性资源之上(一个数据库),他们并不需要全局性的事务服务。本地事务服务已然足够(比如JDBC事务管理)。 本文并不讨论应该采用何种事务处理方式,主要目的是讨论如何更为优雅地设计事务服务。仅以JDBC事务处理为例。涉及到的DAO,Fa...2007-02-06 11:32:00 · 274 阅读 · 0 评论 -
资源获取模式
任何应用都需要与资源打交道,这个资源可能是文件、内存、网络、数据库、web服务等。特别是系统的可伸缩性和性能上,一个系统的可伸缩性很大程度上取决于该系统资源管理的可伸缩性。资源的获取是资源生命周期的起点,因此在此阶段的优化和配置对系统性能、可用性、稳定性、可伸缩性的影响是至关重要的。资源的获取要解决这么两个问题:怎么找到资源,何时获取资源。 资源的超找可以通过lookup模式...原创 2008-09-07 22:13:17 · 289 阅读 · 0 评论 -
singleton迷恋
自从知道singleton模式这把锤子是什么样的之后,我就把很多小疙瘩也当成了钉子,时常想象偶顶着模式的光环挥舞着“万能”锤子在代码丛林中学习兰博搏斗的光辉形象~~~~。昨天读《重构与模式》的inlinesingleton一节,一句话点醒梦中人,singleton模式是“保证一个类仅有一个实例,并提供一个访问它的全局访问点”,原来——singleton也是全局变量啊。马教主深刻地教育...2008-02-23 16:30:49 · 76 阅读 · 0 评论 -
代码详查的几个要点
1、应当有一个详查表,关注reviewer过去遇到的问题和缺陷,对常见错误保持警惕2、详查应当专注于检测错误,而非修正3、详查的角色包括:1)主持人:负责分配复查任务,报告详查结果,主持详查回忆,他需要能够理解被详查代码的相关技术细节,整体上控制详查进度2)作者:代码的作者,负责陈述项目的概况,解释设计和代码中不清晰的部分3)复查者(reviewer,《代码大全2》称为...2008-03-20 10:30:29 · 167 阅读 · 0 评论 -
模块的设计(书摘)
模块化的价值毋庸置疑。 模块化代码的首要特质就是封装。封装良好的模块不会过多向外部披露自身的细节,不会直接调用其它模块的实现码,也不会胡乱共享全局数据。模块之间通过应用程序编程接口(API)——一组严密、定义良好的程序调用和数据结构来通信。这就是模块化原则的内容。API在模块间扮演双重角色。在实现层面,作为模块之间的滞塞点(choke point),阻止各自的内部细节被相...2008-04-06 13:03:03 · 129 阅读 · 0 评论