0

应该将表示层分成展示对象还是接收对象还是单个对象处理双向数据?表示层对象

回答

2

表示层应位于处理呈现和接收的接口之后。主要原因是如果你有两个接口,一个接口,一个接收它,理论上可以分配两个不同的对象,每个接口都会引起测试中的奇怪。

但是,如果你的界面正在发展成几十种方法,你可能想退一步看看把它分成更小的单位然后聚合它们。不一定基于接收和呈现您的演示文稿UI的逻辑分区。

例如,你可以有一个IPresentationUI和两个变量,一个是IPresentationDisplay和另一个IPresentationControl的接口。您拥有的唯一注册例程将接受IPresentationUI对象。实现Prensentation层的类将实现三个接口IPresentationUI,IPresentationControl和IPresentationDisplay。

+0

所以呈现数据的同一个对象会收到新的用户输入,然后该对象将被传递给域?域决定从演示文稿对象中提取什么?这有没有安全风险? – zsharp 2009-05-18 17:06:43

+0

一般的想法是界面是通过表示网页的表单或对象来实现的,并且是一个将事件传递给UI对象的瘦shell,并且接收关于如何绘制/设置演示文稿的说明。 UI对象负责执行原始输入并执行修改域的命令。这包括做任何必要的安全。只有在执行该命令时才会触及域。所以如果安全检查失败,请不要执行命令。 – 2009-05-19 12:18:19

+0

这种方法的优点是,将用户交互放在界面后面可以获得几个优点。首先你抽取大部分特定的UI API。因此,Web标准会发生变化,Form Frameworks会发生变化,但只要新类实现了界面,您的软件的其余部分就可以继续运行。第二次测试变得更容易,因为您可以让模拟对象实现UI界面。第三您通过界面记录了您的软件如何与给定的用户界面进行交互。 – 2009-05-19 12:20:57