Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Language agnostic DAL:可以在一个模块中包含多个数据源访问吗?_Language Agnostic_Architecture_Data Access Layer - Fatal编程技术网

Language agnostic 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进入业务逻辑层,这样您就可以在不实

我开发的应用程序需要几个数据源(2个RDBMS和一个文件存储)才能运行。我将使用DAL库和业务逻辑层来封装数据源


您会亲自创建几个DAL库(每个数据源)并在业务逻辑层中协作几个DAL实例,还是创建包含应用程序使用的所有数据源的monolith DAL库

没有更多信息很难判断,但如果每个数据源都有很多方法,我倾向于创建单独的DAL

这样,其他应用程序(仅对其中一个数据源感兴趣)就可以重用其中一个DAL——它们不必处理不相关的方法/数据源


更重要的是,确保您的DAL进入业务逻辑层,这样您就可以在不实际使用“真实”数据源的情况下测试业务逻辑层。

完全同意。我将用第一个RDBMS DAL程序集将文件存储层次结构封装到一个DAL中,该程序集密切处理文件数据。但是要创建第二个RDBMS-DAL作为单独的程序集。