我需要一些體系結構指導。這是我的目標。在多個應用程序之間共享單個資源(串行端口)
我有一個機器人硬件執行多個功能(即它有幾個不同的邏輯設備)。爲了說明起見,假設它是一種可互換附件的機器人手臂。硬件具有一個串行端口,用於連接到PC,以便可以通過各種不同的應用程序進行控制。手臂本身和可互換的附件可通過單個串口進行尋址。
我需要提供一個服務,公開幾個接口。該接口可以被稱爲是這樣的:
IRobotArm
IGrabberAttachment
IDrillAttachment
等。現在,這是棘手的部分。每個接口都需要被完全不同的獨立應用程序訪問。因此,機器人手臂和抓取器附件可能由完全不同的應用程序同時控制 - 或者它們可能由同一應用程序控制。
這就是我的建築難題。如何爲多個客戶端應用程序提供多個接口,同時確保只創建串行端口的一個實例,並且可以正確序列化命令等。
另一個額外要求:我將在.NET/C#但客戶端應用程序可能期望使用COM接口,因此該解決方案需要與COM Interop一起使用。
想法請!