模块化的价值毋庸置疑。     模块化代码的首要特质就是封装。封装良好的模块不会过多向外部披露自身的细节,不会直接调用其它模块的实现码,也不会胡乱共享全局数据。模块之间通过应用 程序编程接口(API)——一组严密、定义良好的程序调用和数据结构来通信。这就是模块化原则的内容。API在模块间扮演双重角色。在实现层面,作为模块 之间的滞塞点(choke point),阻止各自的内部细节被相邻模块知晓;在设计层面,正是API(而不是模块间的实现代码)真正定义了整个体系。  &nb ...
2008-03-20

代码详查的几个要点

关键字: 代码详查 代码大全2
1、应当有一个详查表,关注reviewer过去遇到的问题和缺陷,对常见错误保持警惕 2、详查应当专注于检测错误,而非修正 3、详查的角色包括: 1)主持人:负责分配复查任务,报告详查结果,主持详查回忆,他需要能够理解被详查代码的相关技术细节,整体上控制详查进度 2)作者:代码的作者,负责陈述项目的概况,解释设计和代码中不清晰的部分 3)复查者(reviewer,《代码大全2》称为评论员,感觉不是很恰当):负责实际复查的工作的执行,负责找出缺陷。 4)记录员:记录发现的错误,记录任务的指派情况,记录会议 5)管理人员:详查是一个纯技术性的复查,应当避免管理人员的介入。如果管理人员介入了详查, ...
2008-02-23

singleton迷恋

关键字: singleton
    自从知道singleton模式这把锤子是什么样的之后,我就把很多小疙瘩也当成了钉子,时常想象偶顶着模式的光环挥舞着“万能”锤子在代码丛林中学习兰 博搏斗的光辉形象~~~~。昨天读《重构与模式》的inline singleton一节,一句话点醒梦中人,singleton模式是“保证一个类仅有一个实例,并提供一个访问它的全局访问点”,原来—— singleton也是全局变量啊。马教主深刻地教育过我们:全局变量在被证明无害之前都是有害。偶大汗淋漓。看看迷恋singleton的几种现象 ...
    事务处理是企业应用需要解决的最主要的问题之一。J2EE通过JTA提供了完整的事务管理能力,包括多个事务性资源的管理能力。但是大部分应用都是运行在单一的事务性资源之上(一个数据库),他们并不需要全局性的事务服务。本地事务服务已然足够(比如JDBC事务管理)。     本文并不讨论应该采用何种事务处理方式,主要目的是讨论如何更为优雅地设计事务服务。仅以JDBC事务处理为例。涉及到的DAO,Factory,Proxy,Decorator等模式概念,请阅读相关资料。     也许你听说过,事务处理应该 ...
dennis_zane
搜索本博客
存档
最新评论