嵌入式编程设计模式——中介者模式

当硬件的行为必须按照有明确定义且复杂的方式进行协调工作时,可以使用中介者模式对硬件进行管理,它不需要很多的子类化就可以将复杂过程实现。
中介者模式使用一个中介类协调设备的的行为来达到所需的整体效果,该模式主要包括以下几个角色:
具体合作者
合作者表示一个被中介者调用的设备,可能时设备驱动或硬件代理。当事件发生时,它从中介者获取指令或给中介者发送信息。
合作者接口
合作者接口时所有可能被中介者调用的具体合作者的服务集合规范。例如,对于所有的硬件设备通常都有 reset() enable() initialize()形式的操作。对于每一个硬件的具体操作在具体合作者中实现。
中介者
中介者类在模式中协调具体合作者。中介者对每个具体合作的这都有一个链接,以便它能给具体合作者发送信息。此外,当事件发生时,具体合作者必须能给中介者发送消息来使中介者进行逻辑协调。
中介者必须能够连接到每个具体合作者。可以通过指针数组或每个具体合作者单独的指针或以上两种的组合来实现。如果具体合作者提供相同的接口,那么使用数组指针会非常方便。如果具体合作者提供不同的服务,那么为每个具体合作者使用单独的指针链接。甚至可以根据情况对具体合作者进行分组,其中每个组中的类提供公有的接口。

你可能感兴趣的:(嵌入式设计模式)