设计问题:翻译课

时间:2010-12-28 19:16:52

标签: java

我有两个对象:

  1. Form。我从JSP页面填充的表单。
  2. Input。 Web服务调用的输入对象。
  3. 输入对象不适合用于填充JSP页面上的表单字段。

    我需要根据Input对象中的值填充Form对象中的值。这些选项中的任何一个更好吗?

  4. 做到这一点。在我的控制器中,只需创建一个Input对象并从我的控制器调用输入设置器。
  5. Form.loadTo(Input target)。在Form类中实现一个方法,该方法将Input对象作为参数,并在loadTo方法中调用Input setters。
  6. Input.loadFrom(Form source)。在Input类中实现一个方法,该方法将Form个对象作为参数,并通过从表单中调用getter来加载valus。
  7. Translator.loadTo(Form source, Input target)。创建第三个类来封装转换逻辑。这是我的偏好,因为它控制了Form和Input类的耦合,但看起来有些过分。

2 个答案:

答案 0 :(得分:1)

Translator.loadTo()

SRP

答案 1 :(得分:0)

Form.loadTo() 

似乎是最合乎逻辑的。

它不需要第三个类并且看起来合乎逻辑:输入是表单的一部分,因此表单可以知道输入。

在其他情况下,Input知道更大的结构并包含Input。这不符合逻辑恕我直言。