【问题标题】:Is it a bad practice to use html tags in Model (MVC)?在模型(MVC)中使用 html 标签是一种不好的做法吗?
【发布时间】:2015-10-01 10:45:59
【问题描述】:

众所周知,在视图(MVC)中创建变量或放置逻辑是一种非常糟糕的做法,所以我的问题恰恰相反,在模型中创建视图组件(使用 html 标签)是不是一种不好的做法(MVC)?

有时,在我的视图中,一个简单的循环是不够的,我需要使用递归函数将我的“树”节点转换为模型中的字符串对象,然后在视图中打印字符串对象。所以我承认,即使总有办法将树转换为列表,然后将“可循环”列表发送到视图,我也会在模型中生成 html 标记。

但是我在我的模型中创建 html 组件还有第二个原因,因为当我更改框架时更容易,我不需要将我的视图转换为另一种格式(.jsp,.xhtml 用于 Facelets,... )。

=> 在模型 (MVC) 中使用 html 标签真的很糟糕吗?为什么 ?谢谢

【问题讨论】:

    标签: java html servlets model-view-controller controller


    【解决方案1】:

    好吧,如果你打算遵守 MVC 模型,那么在 Model 中保留 View 信息绝对不是其中的一部分。

    如果您想通过网络将数据作为 JSON 发送到移动应用程序怎么办?如果您需要与另一个不显示数据但只处理数据的系统集成怎么办?突然之间,模型中出现了一些不必要的额外数据,需要在发送前删除。

    【讨论】:

      【解决方案2】:

      您正在选择一种特定的方式来表示您的模型数据 (html),因为它更容易。这是一个非常糟糕的决定,完全违背了 MVC 模式。

      但是,您可以非常轻松正确地做到这一点。使用xml!然后在您的视图中使用从xmlhtmlxslt 转换将非常简单。您会惊讶地发现,在不弄乱模型的情况下更改视图会变得多么容易。

      在模型 (MVC) 中使用 html 标签真的很糟糕吗?为什么?

      每个软件都在发展。需求改变,特性增加,甚至架构改变。通过在模型和视图之间传输数据时使用html 来表示您的数据,这会使更改变得更加困难。

      比如说,你写的可爱的报告被模型渲染成html,视图直接呈现给浏览器,现在也需要在csv中生成(一个真实的我最近负责的要求)。看看这有多难?然后,您会将数据从 html 转换为 csv

      但是,如果您在 xml 中创建了您的报告,并将您的视图应用到了 xslt 以将其转换为 html,则显示 csv 的需要是微不足道的。这只是另一个xslt

      【讨论】:

        猜你喜欢
        • 2011-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-08
        • 1970-01-01
        • 2018-10-03
        • 1970-01-01
        相关资源
        最近更新 更多