简而言之:
在数据库中存储程序集名称和类名称是否可行?数据层是否可以显式了解业务层的内部结构而破坏应用程序的层次结构?
完整说明:
我有一个引导程序,运行从不同程序集继承的“作业”(类)。作业具有存储在数据库中的配置参数,以通过GUI更改其操作。
为了定位和运行作业,引导程序具有包含作业名称、定义它的程序集名称和类名称的app.config文件。
现在要求将程序集名称和类名称移动到数据库中,以便摆脱app.config文件(给出的原因是将所有配置保留在一个地方-数据库中)。
然而,引导程序是唯一运行作业的代码,这种“配置”信息在部署后永远不会更改。我认为将这样的信息放入数据库会使数据层对上面的层有过多的了解,并且会妨碍重构和维护。但是,我知道Windows Workflow Foundation确实这样做,所以也许我认为这是一个不好的做法是错误的?
编辑:
回答下面的问题,数据库连接字符串存储在由共享配置框架管理的单独配置文件中。该框架使完全删除app.config文件成为技术上可能。