具有多个数据源的应用程序的设计模式?

时间:2017-03-27 10:07:17

标签: .net design-patterns

我目前正在开发需要在离线和在线操作的Windows窗体应用程序。这个想法是,当运行应用程序的设备具有Internet连接时,它将从Web服务获取以获取其数据,但是当没有连接时,它从本地文件系统中以JSON形式从本地数据源获取。

我最好使用服务和管理器设计模式(3层)。但是,我不确定由哪个人负责决定使用的数据源。管理者是否可以访问两种不同的服务,每种服务查看不同的来源并了解如何与每种服务进行交互,或者服务是否应该知道如何与这两种数据源进行交互?

1 个答案:

答案 0 :(得分:1)

我建议将3层模式与IoC容器一起使用,这样您就可以根据应用程序的状态注入正确的DAL对象作为应用程序的数据源 - 如果它在线,注入" OnlineDAL"它继承自IDAL接口,否则,注入" OfflineDAL"它也继承自IDAL接口。

每当应用程序开启/关闭时(使用事件监听器或其他东西),请记住更改注入的类