【问题标题】:convert of the object (image) to another object (Byte) in three layers(3-tier)在三层(3-tier)中将对象(图像)转换为另一个对象(字节)
【发布时间】:2011-05-25 19:41:42
【问题描述】:

转换可以在第一层(UI)完成?

【问题讨论】:

  • 转换可以在任何地方进行。问题是它是否应该,这完全取决于您的应用程序在做什么以及如何做。您需要提供更多信息才能获得任何有用的答案。
  • 永远不要在 UI 中进行转换,这是一种不好的做法
  • @CoffeeCode:为什么?转换完成的地方
  • @Fredrik Mörk:每一层都可以转换吗?甚至ِDAL(DataAccessLayer)。

标签: c# architecture 3-tier


【解决方案1】:

对于这类操作,我个人在项目namespace (myProjectNamespace.Utils) 下创建了一个Utils class/namespace。一个带有 public static 成员的 ststic 类,用于转换、格式化、计算...

大部分时间将此类放在BLL(业务逻辑层)中,但有时您需要为不同的层使用不同的Utils

【讨论】:

  • BLL 不用于验证。这是放置逻辑的好地方。大多数时候Utils 最好的地方是与UIDAL 相比
【解决方案2】:

假设图像是输入 - 输入通常通过以下方式进入系统:

  • 前端界面/UI。
  • 后端接口(服务)。
  • API 调用。

如果输入特定于 - 比如说 UI - 那么这表明它是一个特定于 UI 的东西,应该放在那里。

相同的规则/原则适用于其他输入“通道”。

如果被调用的 API 在 BL 中,那么它可能就在这个位置。

Yousefvand 的出发点(我同意这一点)是,如果有多个组件在使用它,那么它可能是放入一些可重用库的 osrt 的不错选择。

所以...

转换可以在第一层(UI)完成?

如果您要转换的内容特定于所使用的 UI/UI 技术;否则你可以但可能不应该 - 在这种情况下,你可能会更好地在实用程序中实现你的转换器。

【讨论】:

    猜你喜欢
    • 2021-08-14
    • 2021-11-18
    • 2017-10-15
    • 2018-09-18
    • 2021-09-20
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 2013-02-24
    相关资源
    最近更新 更多