【问题标题】:Can we skip/bypass the intermediate layers in multi tier architecture [duplicate]我们可以跳过/绕过多层架构中的中间层吗?
【发布时间】:2017-03-22 17:04:47
【问题描述】:

我正在从事的项目中,我们按以下顺序分层架构

Web 层(ASP.NET MVC)-> WCF 服务-> 业务层-> 数据层(实体框架)-> 数据库(SQL SERVER)

Web 层托管在一个 Web 应用程序中(称为 Web 层),而其他层(WCF、业务层和数据层)托管在另一个 Web 应用程序中(称为应用层)

所有网络请求都按上述顺序传输。

现在我们有一个托管在 Windows 服务内的组件,它需要与数据库通信,那么我应该通过绕过/跳过服务和数据层直接从 Windows 服务调用数据库,或者我应该使用下流

Windows 服务 -> WCF 服务 -> 业务层 -> 数据层(实体框架) -> 数据库

哪个架构更好。

【问题讨论】:

    标签: .net architecture multi-tier


    【解决方案1】:

    如果 Windows 服务不需要任何广泛的配置来与数据层通信,那么我不明白您为什么不这样做。此外,它还能让您的架构保持一致(代码异常会阻碍可维护性)。

    但是,如果将 windows 服务连接到数据层需要大量的开销和/或重构,那么答案取决于 windows 服务与数据层的通信有多广泛(是否只需要几个调用;未来有多大可能会扩大到包括更多电话)。我不会为了一个特殊的、一次性的和/或简单的案例而花费数小时或数天来重构现有代码(请记住,每个代码更改都应该经过测试)。

    重要的是要权衡现在可以获得的收益与以后的成本之间的差异。

    【讨论】:

    • 嗨 Samus,我们的 windows 服务应该基于某种推送机制工作,即如果会生成任何触发器,则 windows 服务需要执行一些业务操作。另一点是这个windows服务不需要经常与数据库通信..
    猜你喜欢
    • 1970-01-01
    • 2013-04-19
    • 2019-03-06
    • 1970-01-01
    • 2014-06-29
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多