1.选择能够奏效的最简单的做法.
2.如果任何代码并非针对问题领域,那么就应该质疑这些代码.
3.单单是因为J2EE系统能让我们做某事,并不意味着我们就应该选择选择做这些事.在J2EE应用系统中,很多不必要的复杂性都是把幽灵需求看作理所当然造成的.所以,应该以实际需求为一句决定系统架构,而不是以J2EE平台本身的能力作为依据.
4.优秀的开发者当然对智力上的事情具有好奇心,而且也都会为自己使用的技术而感到兴致勃勃.但是,只有最杰出的开发者才懂得克制上面这些冲动,服从实际项目的真正需要.
5.对于软件的架构而言,实现架构时会遇到形形色色的问题,而解决这些问题需要具体详尽的细节知识;只有掌握了这些细节知识,才能确定整个系统架构.所以,如果架构师把时间都花在编写文档,搭建模型上,那就很难作出切实可用的架构.
6.依赖注入的原则是:应用系统不应该负责查找资源或者其它依赖的协作组件,配置对象的工作应该由IOC容器完成,"查找资源"的逻辑应该从应用代码中抽去出来,交给容器负责.
7.代码重复是最糟糕的代码臭味,只要出现重复的代码,必定有什么地方存在严重的问题--要末是设计,要末是实现.
8.缓存与OR/Mapping都是非常昂贵的轮子,不需要自己再实现一套.
9.对于优秀的开源方案,不光要学会其使用,还要领会它这么做的意图.
