gpt4 book ai didi

architecture - 在多层架构中通过层传递业务实体

转载 作者:行者123 更新时间:2023-12-04 20:12:51 26 4
gpt4 key购买 nike

目前我正在开发一个利用多层架构的项目,如 Application Architecture Guide 2.0 中所述。有 5 层(DAL、BLL、外观、表示层和公共(public)层)。
这里我们有一个业务逻辑层,它由业务组件和业务实体(它们是使用 O/R 映射器生成的实体)组成,我们经常需要在表示层中使用这些实体来绑定(bind)和向用户呈现数据,所以我们将这些实体冒泡通过其他层直到表示层。

现在的问题是:
这是一个正确的方法吗? (根据定义,我知道如果我们应该共享这些,我们应该将它们放在公共(public)层中,以便我们可以在所有层中使用它们)。
我们不应该将这些实体移动到公共(public)层吗?或者我们应该定义诸如数据传输对象(DTO)之类的东西并通过层传递它们(这当然看起来是多余的)。

任何澄清将不胜感激。

最佳答案

一个适当分层的应用程序通常会使用 DTO 来防止业务实体被掺假和扭曲以适应其他层的需求,以及其他原因。

但是,在非常小的应用程序中,您可以免除 DTO 映射的负担,并将业务实体一直传递到 UI。您可以将它们保留在 BLL 中,如果所有层都引用它,这并不引人注目。无论如何,它不再是一个真正的分层应用程序,因为您将架构压缩成一个大层。

Mark Seemann 有一个有趣的 blog post关于这个问题。

关于architecture - 在多层架构中通过层传递业务实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15255562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com