【发布时间】:2021-05-27 11:37:12
【问题描述】:
我计划设计一个应用程序,其工作是管理和控制一些设备。可以通过 GUI 在设备上设置一些设置。同时这些设备会触发一些需要处理的事件(因此会有多个服务来处理事件)。与设备的通信主要通过 USB 进行,但有些设备是蓝牙和无线的。所以我将有一个用于硬件和软件服务之间通信的中间件。最后,每台设备都有一个配置设置,需要存储在某个云中,仅用于备份建议。
我想了解如何设计这个系统。关键输入数据是:
- 所有服务都在本地机器上运行。
- 硬件和服务之间存在通信。
- 唯一的网络主题是在云端备份数据。
我的问题是:
-
这个系统可以被认为是一个独立的应用程序吗?由于设备和服务之间的通信,我们可以将其称为网络应用程序吗?还是一些蓝牙和无线通信?
-
我们可以仅仅因为处理事件(软件或硬件事件)而假设使用事件驱动架构吗?注意:在最短的时间内(实时)处理事件很重要
一般来说,什么样的架构适合这个系统的要求? [多层,事件驱动...]以及有关相关设计模式的任何建议。
谢谢。
【问题讨论】:
标签: design-patterns architecture communication event-driven