本节从桥梁模式的观点出发,讨论《西游记》中天蓬元帅转世投胎成猪八戒的故事。
如果存在灵魂的话,应当是抽象化角色,而肉体则是实现化角色。肉体为灵魂的功能提供了实现,就像具体Java类为抽象Java类提供了实现一样。
“转世投胎”系统的UML类图:
可以看出,“转世投胎”机制将尘世划分为两个等级结构:第一个等级结构是“灵魂”等级结构;第二个等级结构是“肉体”等级结构。前者相当于抽象化,后者相当于实现化。生灵通过功能的委派,调用肉体对象的功能,从而使生灵可以动态的选择自己的肉体。
在上面的UML类图中,各个角色与桥梁模式的角色的对应关系如下:
- 抽象化角色:“灵魂”是一个抽象类,它给出所有的人、兽、怪、神的灵性的定义,规范出它们的方法和属性。
- 修正抽象化角色:以八戒的例子来说,天蓬元帅的灵魂是八戒的抽象化角色,正如僧尼道俗、走兽飞禽、魑魅魍魉的灵性是它们的抽象化角色一样。这些抽象化角色是具体的抽象化角色,换句话说,它们是在抽象化角色“灵魂”下面的具体化角色,但是它们又是“人”、“鱼”、“鸟”等肉体的抽象化角色。
- 实现化角色:这个角色就是“肉体”。这个抽象类规范具体实现化角色,规范出具体实现化角色应当有的方法和属性
- 具体实现化角色:这就是各种肉体的驱壳,包括人、鱼、鸟等。
时间: 2024-10-10 17:37:53