【发布时间】:2010-07-23 11:09:42
【问题描述】:
我需要一些架构指导。这是我的目标。
我有一个执行多种功能的机器人硬件(即它有几个不同的逻辑设备)。为了便于说明,假设它是一个带有可互换附件的机械臂。该硬件具有一个用于连接 PC 的串行端口,因此可以由各种不同的应用程序控制。机械臂本身和可互换附件可通过单个串行端口进行寻址。
我需要提供一个服务,它暴露了几个接口。接口可能被称为:
IRobotArm
IGrabber附件
IDrill附件
等等。现在,这是棘手的部分。每个接口都需要由完全不同的、独立的应用程序访问。因此,机器人手臂和抓取器附件可能同时由完全不同的应用程序控制 - 或者它们可能由同一个应用程序控制。
这就是我的建筑难题。如何为多个客户端应用程序提供多个接口,同时确保仅创建一个串行端口实例并且可以正确序列化命令等。
另外一个要求:我将使用 .NET/C# 工作,但客户端应用程序很可能希望使用 COM 接口,因此该解决方案需要使用 COM Interop。
请出主意!
【问题讨论】:
标签: .net architecture client-server