0

我目前正在评估重构驱动程序管理的替代方案。

在我的多层架构中,我有

基类

  • DAL.Device//我的实体

接口

  • BL.IDriver//处理应用程序和设备之间的数据处理
  • BL.IDriverCreatorIDriver//从a创建一个Device
  • BL.IDriverFactory//处理驱动创建请求

的每个专业化Device都有相应的IDriver实现和相应的IDriverCreator实现。

目前,映射是通过业务层 / 中的类型检查修复的DriverFactory。这意味着每个新驱动程序都需要 a) 更改其中的代码DriverFactoryb) 引用新的IDriver实现/程序集。从客户的角度来看,这意味着每个新驱动程序,无论是否使用,都需要对其硬件环境进行复杂的重新验证,因为这是一个关键过程。

我的第一个灵感是使用像 nameconvention 这样的 caliburn micro

请参阅Caliburn.Micro:Xaml 变得简单

  • BL.RestDriver
  • BL.RestDriverCreator

  • DAL.RestDevice

在收到RestDevice内部文件后,IDriverFactory我可以通过反射加载所有驱动程序 dll 并进行名称拆分/比较(从 xxDriverCreator 和 xxDevice 中提取 xx)

另一个想法是自定义属性(这也导致比较字符串)。

我的问题:这是层边界之上的好方法吗?如果没有,什么是好的方法?

4

0 回答 0