【问题标题】:Model Class purposes and position in solution模型类的目的和在解决方案中的位置
【发布时间】:2015-03-11 09:33:22
【问题描述】:

我认为 Model 类有几个变体。

  1. 一旦从存储库中获取 - 例如this class

  2. 将其转换为您的应用需求并将其交给业务逻辑 - 可能是不同的类(松散的数据库表示形式)

  3. 在将其发送到 UI 之前对其进行转换

您在哪里找到所有这些模型?在一个“模型”文件夹中?还是每个人都在自己的层中?

【问题讨论】:

  • 这个问题不太清楚,但我认为它与反射有关?

标签: c# architecture projects-and-solutions


【解决方案1】:
  1. 这是一个模型,我位于 DAL 项目中
  2. 它是一个 BO(业务对象),可能位于 BL(业务逻辑)项目中
  3. 它是一个 ViewModel,可能位于演示项目(例如 Web)中

【讨论】:

  • 谢谢。那么你会放在哪一层,例如 Model 和 BO 之间的 Converter 类?
  • 更像是业务逻辑——如何将一个或多个实体组合成BO。它可能类似于用于对象的 BL project-BO 文件夹和用于转换器的 BL project-Converters 文件夹,例如用于业务逻辑实现的 BL project-Processor 文件夹或其他。这不是教条,只是使用常识,没什么特别的。您也可以使用 IoC 容器并在其中包含转换器逻辑。
  • mmm,为了让事情井井有条——如果我可以在业务级别“按原样”使用 Model 类,是否建议将其移动到 BO 对象以实现层隔离?
  • 简而言之 - 这取决于 :) 如果您使用带有 ADO 的自定义 DAL 和手动编写的对象 - 为什么不将其用作 BO?您只能为 DAL 模型未涵盖的那些添加 BO。但是,例如,您是否使用 EF,在我看来,将 EF 实体转换为其他东西可能更舒服。
猜你喜欢
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多