【问题标题】:Using business object in presentation layer在表示层中使用业务对象
【发布时间】:2011-04-17 02:14:29
【问题描述】:

在 3 层应用程序中,从更好的设计/架构的角度来看,我可以/应该在表示层中实例化一个业务类(驻留在业务层中)吗?我的意思是,这是一种不好的做法吗?如果是这样,那么有什么方法可以从表示层引用任何业务对象?例如,如果我无法在表示层中创建“员工”对象(代码隐藏),我将如何在会话状态中保存它)?

【问题讨论】:

    标签: c# business-objects presentation-layer


    【解决方案1】:

    如果您不在表示层中实例化业务对象,您将如何调用它?所以你必须这样做。当然,如果您希望业务层的代码在其他地方运行,您可以考虑服务。但是,那时您只能从业务/服务层实例化代理。所以,继续吧。

    【讨论】:

    • 是的,事实上我总是这样做,但我在stackoverflow中看到了关于这个主题的一些先前的论点。有人说它使设计紧密耦合,以及使用业务层公开的接口或使用 DTO 等。所以作为一个业余/新手程序员,如果我做错或正确,我会有点困惑(再次,从更好的设计角度来看)。
    • 你说的是对的。如果你希望保持它非常松耦合,永远不要直接实例化一个类。而是始终使用一个接口和可能的工厂方法,该方法可配置到足以实际实例化您的类。从一层发送的数据应始终使用 DTO,您实际上可以从接口派生 DTO。如果您将来需要更改 DTO,这将使您的生活变得轻松。
    猜你喜欢
    • 2012-09-10
    • 2011-02-02
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 2013-11-15
    • 2010-11-09
    • 2013-06-20
    • 2011-04-12
    相关资源
    最近更新 更多