简单来说:
将汇编名称和类名存储在数据库中是否可以原谅?它是否会破坏应用程序层以使数据层明确了解业务层的内部结构?
完整说明:
我有一个引导过滤器,它运行在单独的程序集中存在的"作业"(继承自公共基础的类).作业具有存储在数据库中的配置参数,以允许通过GUI改变它们的操作.
为了找到并运行作业,引导strapper有一个app.config文件,其中包含作业的名称,以及定义它的程序集名称和类名.
我被要求将程序集名称和类名移动到数据库中,以便我们可以删除app.config文件.(给出的理由是将所有配置保存在一个地方 - 数据库.)
但是,引导过滤器是运行作业的唯一代码,部署后永远不会更改此"配置"信息.我认为将这些信息放入数据库会为数据层提供有关上述层的过多信息,并会妨碍重构和维护.但是,我知道Windows Workflow Foundation就是这样做的,所以也许我认为这是一个糟糕的做法我错了?
编辑:
在回答下面的问题时,数据库连接字符串存储在由共享配置框架管理的单独配置文件中.此框架使技术上可以完全删除app.config文件.
我认为将配置信息(包括程序集/类名)存储在数据库中是完全可以接受的.
我不认为存储在数据库中的数据是数据层的一部分.