通过nameconvention分离软件组件

时间:2014-08-19 06:46:10

标签: c# architecture decoupling multi-tier

我目前正在评估重构司机管理的替代方案。

在我的多层架构中我有

基类

  • 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>

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

我的问题:这是一个上层边界的好方法吗?如果没有,那会是一个好方法吗?

0 个答案:

没有答案