我目前正在处理一段继承的代码,它使用了一种非常有趣的设计模式。
代码被分成许多对象。我不确定术语对象是否适用,因为它是 C 代码,但它是最好的类比。每个对象都有特定于对象的数据、一个线程和一个消息队列。所有对象主要通过将预定义的消息放置到彼此的队列中来进行通信。主要思想似乎是每个对象的数据只能由一个线程访问。在做了一些研究之后,我发现一些工业自动化应用程序是这样编写的(即 ProfiNET 堆栈和一些 EIP 实现)。
你知道这种模式是否有名字,或者它是否在文献中的某个地方被描述过?Schidt、Stal 等人的“面向模式的软件架构”一书没有提到它。
非常感谢你。