(同步自http://www.blogjava.net/AndersLin/archive/2006/06/11/51982.html)
我以为分析模式一书的绪论是最重要的,因为它讨论了分析本身。
既然是分析模式,那么首先要弄清出什么是分析,目标和手段。
1.分析的目标是给出一个智力模型(mental model)
2.分析的原则是面向对象的建模原则
3.分析的手段是:显示的把模型分解为知识级和操作级(explicitly divide a model into operational and knowledge levels)。
并建立起两者的映射(第二章)。
martin说它是重要的建模原则,事实上在整个《分析模式》一书中,martin用它来分析讨论,因而我更愿意把它看做是工作方式。
同时,这是《分析模式》一书带我的一个重要的影响。
我以为工作方式向来是重要的,好的工作方式不仅仅是完成工作的途径,也保证了工作的质量。(正如开发过程的TDD一样)
在没有应用这样的分析工作方式前,由于强制的没有把知识级的内容put down on paper,使得一些知识级的内容隐式的存在(在我的脑海中),不过事实证明人脑有时不那么管用(好记性不如烂笔头就是一说),当一些模型相关的知识被无意的忽略后,建立的操作级模型是不完整的,而由此产生的代码对应的带有隐式的hardcode问题。
而一旦我把知识级内容写下,出于表述完整的需要,将带出原来隐式存在的知识,在一定程度上促进了建模工作。
BTW:关于笔记本身
1.笔记的内容将结合自身的实践,比较不同模式,提出一些看法。很明显,将带有自身工作经验的特征。
2.读了用了《分析模式》有些时间了,有些体会,也不知道正确与否,想通过blog和网友交流一下(论坛似乎不太好,没有靶子)