【发布时间】:2011-02-23 20:33:08
【问题描述】:
表示层和用户界面有什么区别?
【问题讨论】:
标签: user-interface layer
表示层和用户界面有什么区别?
【问题讨论】:
标签: user-interface layer
它们在执行上很接近,但它们来自不同的方向。它们没有很好的定义,根据具体的上下文,它们可能几乎相同或仅略有重叠。
表示层是代码和相关资源分类中的术语。
用户界面是在页面布局、页面转换和页面控制元素方面的预期用户体验的实现。 (我在这里松散地使用“页面”-您可以将其替换为“表单”或“窗口”)。
当您考虑如何创建用户界面时,区别很重要。如果您来自代码,那么您基本上是在处理代码的需求和机制 - 有哪些数据可以显示?,以及 您的代码可以通过哪些方式改变它? em>
如果你来自用户,问题是用户需要什么数据?和用户想要改变什么数据?
(第一个不一定更糟 - 它非常适合对应用程序内部工作有很好了解的用户,而且它通常更容易利用代码的全部功能。)
【讨论】:
John 的答案中的链接指的是 OSI 模型,恕我直言,这不是这里的术语。
我认为表示层和 UI 是重叠的概念,虽然不是 100% 重叠。
形成一个角度: 术语表示层 暗示了应用程序中的分层结构,而术语UI 不暗示有关应用程序内部结构的任何内容。
换个角度: UI 一词可能只包括控件的集合及其事件处理程序,而表示层 一词可能包括应用程序的一些更深层次的非可视部分,例如 ViewModel 或 Presenters。
【讨论】:
表示层将信息传递给应用层进行显示。
在某些情况下,表示层处理数据转换以允许在特定系统上使用。
一旦表示层完成所需的任何翻译,用户界面就会向您显示数据。
【讨论】:
这是我自己的解释:
表示层松散地指的是负责以某种方式为用户显示数据的层。它通常与其他层(如持久层、业务逻辑层等)一起在软件架构的上下文中被提及,很少单独提及。
用户界面只是指用户与某些软件程序之间的接口点。用户界面并不总是必须具有良好的图形窗口功能。一个在提示符下运行的控制台程序据说也有一个用户界面,只是不是图形界面。
【讨论】: