2009年3月10日星期二

需求之后,先澄清关系。

设计模式、分析模式、实现模式,各种各样的模式。思考的模式、挖掘需求的模式也很重要。所有这些模式都和围棋的"定式"差不多,都是是些经验:解决这样的问题,基本就这些套路。最低一级的模式就是类似于hibernate SessionFactory使用这样的惯用法。下面的套路是High level一层:

现在工作中修改代码时总是发现问题,其中一些问题是因为当时给软件建模时没有把各个实体的关系搞对。一对一,多对一,一对多?这些经常在create table时要思考的问题,在紧随需求阶段之后的设计阶段搞清楚'对象'的关系很重要。根据需求,抽取名词之后,需要给这些名词连线的时候,请思考一下"一对一,多对一,一对多"?还是包含关系?还是没关系?只有根据需求,给各个"名词"建立了适当的关系,才能保证你设计的基础是稳固的,因为这最近接你要用软件模拟的现实世界。当你发现软件改动起来分费劲,基本上是因为你的软件模型与现实中的实体不太符合――缺少了某种属性、行为的表达,或者它们表达在了错误的地方(Class)。