【发布时间】:2009-11-03 10:04:30
【问题描述】:
我正在研究如何解决问题,但我什至不确定这在 C# 和 .NET 3.5 中是否可行:
假设我的接口数量有限,每个接口都描述了一组特定的、不相关的方法。现在我有许多现实世界的设备,每个设备都可以实现这些接口的一个子集。
在使用这些设备设置通讯时,它们会告诉我它们具有哪些功能。我现在想创建一个实现接口的对象(每个接口都类似于设备的一种功能),以便在我的应用程序架构的更高层次上:
- 针对上述接口编写代码
- 测试生成的对象是否实现了某个接口以查看是否支持某些操作
我完全不确定使用哪种方法来解决这个问题。欢迎任何 cmets 或方法!
【问题讨论】:
-
首先感谢大家的cmets和建议。非常感谢!好的,我想我应该详细说明一下我面临的问题。我有一定数量的能力,例如CanMakeCoffe、CanCleanKitchen 等。大多数设备都会实现一些功能,例如可以制作咖啡。我想避免的是在源代码类中为这些设备定义某处,如在 CDeviceOne 中:ICanMakeCoffee、ICanCleanKitchen CDeviceTwo:ICanMakeCoffee
-
我宁愿让设备在他们连接时告诉我他们能做什么,然后我会创建一个类似于他们能力的对象。这有意义吗?