实时对象统一设计方法相关知识解析
1. 消息交互模型
在交互过程中,发送方和接收方都会参与到交换机制中,并且双方对象都可能因这种交互而发生状态变化。当交换中不传递数据时,消息交互模型会简化消息本身的内容。在UML的顺序图中,为了简化模型,通常只表示接收方的操作,但完整表示时,双方的操作都必须表达出来。
完整表示具有诸多优点,例如在停车场系统中,我们可以列出驾驶员执行的所有操作,如“push button()”和“take ticket out()”。但在某些交互图中,可能无法立即检测到发送方对应的操作,此时可以手动在UML类图中添加这些操作。
下面通过一个简单的例子来说明:如果人A击打了人B,A执行“hit()”动作,而B能够执行相应的“injure()”动作来改变自身状态。从表示方式上看,可能会让人觉得B要为自己的不幸负责,但实际上这是对现实的一种扭曲,如果将这种低层次的编程模型扩展到表达高层次问题时,就会出现这种情况。
2. 感应能量
在软件程序中,消息通过通信通道传递激活信号和数据来唤醒进程;在非计算机系统中,消息可以传递能量,能量是另一种形式的数据,且大多是“感应”产生的。
例如,在停车场系统中,驾驶员触摸按钮时,会向按钮传递一小部分能量,使按钮能够移动并形成电接触。原本被动的按钮,因接收到驾驶员传递的感应能量,暂时转变为主动对象,从而能够对其周围环境产生改变。
这种现象在机械世界中也很常见:
- 屋顶瓦片本身没有能量,但风可以赋予它们能量,使其可能伤害到人。
- 枪中的子弹通过化学反应获得能量,能够造成杀伤。
- 我们可以利用能量从一个对象传递到另一个对象的
实时对象统一设计方法知识解析
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



