【发布时间】:2011-02-18 04:51:50
【问题描述】:
一段时间以来,我和我的团队一直在将数据访问层包装在 Web 服务外观(使用 WCF)中,并从业务逻辑层调用它。同时,我们可以简单地使用存储库模式,其中业务逻辑层通过接口在本地使用数据访问层,并且在任何时间点,我们都可以将其切换为访问服务(如果需要)。
问题是:什么时候将数据访问层封装在服务外观中合适,什么时候不合适?目前,主要优势似乎是其他应用程序可以使用该服务,但如果它们是用 .NET 编写的内部应用程序,那么它们可以只使用 .NET 程序集。将 DAL 封装在我不知道的服务中还有其他好处吗?
【问题讨论】:
-
即使对于内部应用程序,如果您的程序集有很多用户,直接使用 .NET 程序集也可能是要更新的 PITA,但 Web 服务会更加精简。
-
这是一个很好的问题......与序列化/传输/反序列化相关的费用可能非常昂贵,因此考虑其他模型是有意义的。另一方面,拥有服务外观可以更轻松地丰富和转换数据。此模式的另一个优点是能够集成队列端点以满足即发即弃的存储需求。
标签: .net wcf oop data-access-layer n-tier-architecture