gpt4 book ai didi

user-interface - UI层抽象

转载 作者:行者123 更新时间:2023-12-04 06:41:27 24 4
gpt4 key购买 nike

我已经成功地处理了抽象数据层和业务层。但是最近一位同事提到了在 UI 和业务层之间抽象 UI 层。但是我无法理解它。我无法想象这个 UI 层与业务层有何不同。我已经看够了文章,似乎没有找到太多帮助。有人可以告诉我一个简单的例子吗?

最佳答案

这里有多种选择。

  • MVC

    您需要将 View 与模型和 Controller 分开。想像为什么要这样做的最简单方法是,如果你有相同的模型和 Controller ,你想呈现不同的 View ——网站 View 、独立应用程序 View 、网络服务 View 、手机 View ,您的单元测试 View 等。因此,您的 View 代码中不需要任何逻辑。即,在 Java 中,您的 ActionListener 和其他 GUI 代码中没有模型操作 - 相反,您将其移出到 Controller 类中, View 处理程序只需执行输入验证、输出格式化并与 Controller 类对话。

    许多 View 是从以 View 为中心的方法编写的。你有你的图形用户界面。发生了一些事情,你对此使用react并做一些事情,并根据需要更新 GUI。因此,很容易将您的业务逻辑和模型紧密地绑定(bind)到 View 中。

    基本上,您在业务逻辑中创建(一个)接口(interface),任何东西都可以调用,因此添加新 View 很简单。这些接口(interface)提供了您需要调用的所有功能。然后,您可以将内部业务逻辑设为私有(private)。
  • 数据收集网络表单(或一系列网络表单)

    您不太可能希望以与业务层中的数据模型相同的顺序收集信息。此外,您将需要在多页表单中的页面之间保持不变。当您在第 3 页收集这些非空约束时,您会很快发现它们是一个 PITA(因为它们在第 1 页上让客户望而却步)。因为表单在重新排列时可能会发生变化,因此您最终会很早就将业务逻辑与 View 分离,并概括您如何填充模型。还有很多其他的东西。
  • 从模型生成的接口(interface)

    您有一个可以更改的模型,或者确实可以显式或隐式地描述接口(interface)。因此,您可以从模型生成界面,而不是使用预先设计的表单和窗口等。这样,您必须非常通用地对 View 代码进行编程,因为您将只能使用模型。从模型到 UI 的大量 map ,反之亦然。然后你添加一些观察者,因为模型值在其他地方发生了变化,这很有趣...... :)
  • 别的...
  • 关于user-interface - UI层抽象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/424675/

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