UI层抽象

use*_*960 5 user-interface layer

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

tdd*_*key 0

简而言之,您的 UI 层只关心 UI 本身并与下一个级别(可能是您的业务层)协作。您的业​​务层和数据层(以及您拥有的任何其他层)不应包含任何 UI 代码,因为这是 UI 层的工作。

想一想 Web 浏览器的工作方式,浏览器是 UI 层,它只关心渲染页面,而不关心其他任何事情。当需要发生某些事情时,它会调用 Web 服务器(下一层)来执行此操作,然后呈现结果。

尝试用谷歌搜索一些众所周知的 UI 模式:

  • 多维控制器
  • MVP
  • 不起眼的对话框