从汉语语法或者英语语法上说,“烹调工作”都是一个名词。但从语义上说,它其实代表着一个动作(cook),因此它是一个“动明词”。 既然它是一个动作,那么在建模时就应该把它拆散,因为拆散了可以减少两部分的耦合,提高某个部分的可重用性
Cooking = "
Do something" according to a "
recipe"
在系统设计时
1. Cooking 和 Recipe 应该独立建模
2. Cooking中有时间、地点、厨师等属性
3. Recipe中则有原料、佐料、步骤等属性
4. Cooking 和 Recipe 是 多对一 关联关系,即同一个菜谱可以被多次使用。
如果我们一开始没有把它拆散,只做一个Cooking类,把原料、佐料也当作它的属性,那么 Recipe 就没办法重用。