2010年12月03日 09:30 "SpeedVan"的内容
TO joshuayan
人和鸟是两个角色,若果用户能够成为鸟,则可以进入天空场景,实行飞行。若果只能为人不能成为鸟,则进入不了天空。 ...

我认为:
角色应该是某个场景下的抽象概念,是依赖于场景的。
人和鸟应该都是实体。
鸟天生有飞行这个功能(不会飞的鸟除外),而人不具备这个功能。
一个实体所具备的功能是跟场景无关的。

但飞机这个实体有“飞”这个功能,但是飞机不能自己飞,得需要人来驾驶。
而人本身不具备驾驶的功能,而只有在“飞机飞行”这个场景下的【驾驶员】这个角色有驾驶这个功能。

欢迎讨论。

呵呵,这里还有讨论啊?好我接上:

To liam
你思维很活跃,但你要了解“你自己是在区分什么”,鸟能进入“天空”这个场景,若果给予它“飞”的行为(场景行为,是为能进入这个场景所赋予角色的行为),你可以这样认为:因为上帝给鸟进入“天空”的权限(能够进入天空),所以它能飞,因为人自身没有权限,所以人不能飞,即使驾驶飞机,也是飞机在飞而已,并非人,人在飞机这个载体当中。注意:引入场景,是延迟拥有(加载)的做法。若果你认为一开始就应该拥有的话,是一种富领域模型的做法,而且有点过富,场景有点形同虚设了——既然你认为鸟拥有飞,而人没有,也就是从一开始就已经区分了他们,并不是把他们看作同一实体。认为是同一东西的时候,就应该忽视所有个体特征,抽出类来,然后建立角色,然后就可以延迟加载某些场景行为了,至于那些是共性,那些是个性,这个和你自己需要的领域模型相关(另一个话题了)。

关键理解:场景是为角色而设,并不是为实体而设
[该贴被SpeedVan于2011-01-13 10:38修改过]