我目前正在评估重构司机管理的替代方案。
在我的多层架构中我有
基类
DAL.Device
//我的实体接口
BL.IDriver
//处理应用程序和设备之间的数据处理BL.IDriverCreator
//从IDriver
Device
BL.IDriverFactory
//处理驱动程序创建请求 Device
的每个专精都有相应的IDriver
实施和相应的IDriverCreator
实施。
目前,通过业务层/ DriverFactory
中的类型检查来修复映射。这意味着每个新驱动程序都需要a)更改DriverFactory
和b)引用新IDriver
实现/程序集的代码。从客户的角度来看,每个新驱动程序的使用与否都需要对其硬件环境进行复杂的重新验证,因为这是一个关键过程。
我的第一个灵感是使用像名称一样的校准微观
请参阅Caliburn.Micro: Xaml Made Easy
BL.RestDriver
BL.RestDriverCreator
DAL.RestDevice
收到RestDevice
中的IDriverFactory
后,我可以通过反射加载所有驱动程序dll并进行名称分割/比较(从xxDriverCreator和xxDevice中提取xx)</ p>
另一个想法是自定义属性(这也会导致比较字符串)。
我的问题:这是一个上层边界的好方法吗?如果没有,那会是一个好方法吗?