Language agnostic DAL:可以在一个模块中包含多个数据源访问吗?
我开发的应用程序需要几个数据源(2个RDBMS和一个文件存储)才能运行。我将使用DAL库和业务逻辑层来封装数据源Language agnostic DAL:可以在一个模块中包含多个数据源访问吗?,language-agnostic,architecture,data-access-layer,Language Agnostic,Architecture,Data Access Layer,我开发的应用程序需要几个数据源(2个RDBMS和一个文件存储)才能运行。我将使用DAL库和业务逻辑层来封装数据源 您会亲自创建几个DAL库(每个数据源)并在业务逻辑层中协作几个DAL实例,还是创建包含应用程序使用的所有数据源的monolith DAL库 没有更多信息很难判断,但如果每个数据源都有很多方法,我倾向于创建单独的DAL 这样,其他应用程序(仅对其中一个数据源感兴趣)就可以重用其中一个DAL——它们不必处理不相关的方法/数据源 更重要的是,确保您的DAL进入业务逻辑层,这样您就可以在不实
您会亲自创建几个DAL库(每个数据源)并在业务逻辑层中协作几个DAL实例,还是创建包含应用程序使用的所有数据源的monolith DAL库 没有更多信息很难判断,但如果每个数据源都有很多方法,我倾向于创建单独的DAL 这样,其他应用程序(仅对其中一个数据源感兴趣)就可以重用其中一个DAL——它们不必处理不相关的方法/数据源
更重要的是,确保您的DAL进入业务逻辑层,这样您就可以在不实际使用“真实”数据源的情况下测试业务逻辑层。完全同意。我将用第一个RDBMS DAL程序集将文件存储层次结构封装到一个DAL中,该程序集密切处理文件数据。但是要创建第二个RDBMS-DAL作为单独的程序集。