gpt4 book ai didi

c# - 通过实现与基础设施相关的接口(interface)来污染领域类型

转载 作者:行者123 更新时间:2023-11-30 22:48:23 24 4
gpt4 key购买 nike

进行了大约 30 分钟的搜索,找到了很多相关信息,但没有一个能解决这个特殊问题,希望我不是在重复一个常见问题。

我想知道关于在域类型中实现与基础设施相关的接口(interface)的一般共识是什么。我读到的关于 DDD 的所有内容都让我相信这是应该避免的,因为这会降低模型的简洁性,这是可以理解的。

但是,我不确定如何解决这个问题。具体来说,我有一个非常适合在我的表示层中使用的域类型,只是我想在需要它实现 IComparable 的控件中显示它的一个实例。我宁愿不使用此接口(interface)的实现“污染”我的类型。

我认为(也许天真)我的选择是:

  1. 使用数据传输对象 (DTO),让它实现接口(interface),并在我的应用程序中使用它的一个实例表示层。
  2. 我有点模糊熟悉的基础知识AOP——也许有一个合适的这个领域的技术?
  3. 也许与选项 2 相关 - 代码“编织”?我对为什么/什么时候去知之甚少考虑一下这个,但我是不是撞到了现在反对吗?
  4. 咬紧牙关,并实现代码位满足契约(Contract)所需的条件。
  5. 我有一些巫毒魔法从来没有听说过?

如果有人想推荐 2、3 或 5 - 你能给我指点一些可能有助于我入门的阅读 Material 吗?

提前致谢。

最佳答案

实现中间“View-Model”类:

  • View 部分知道如何与用户界面对话(数据绑定(bind)、IComparable 等)
  • 它持有对模型(域)对象的引用
  • 它公开模型对象的属性(并在必要时中继更改通知)

关于c# - 通过实现与基础设施相关的接口(interface)来污染领域类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1704995/

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