绑定元素的最佳方法是什么? '所有属性分开'或'整个组件'

时间:2011-09-07 09:34:33

标签: java jsf binding client-server

在客户端 - 服务器技术中,在分别绑定所有属性之间绑定元素的最佳方法是什么?和整个组件' (或另一种方式)?

例如在JSF中:

- <h:inputText value="#{bean.value}" rendered="#{bean.rendered}" disabled="#{bean.disabled}" readonly="#{bean.readonly}" />

  • 仅绑定所需的属性
  • bean上声明很多属性,不太可读,在新属性绑定时修改视图
  • 其他论据......

- <h:inputText binding="#{bean.inputTextBinding}" />

  • bean上只声明了一个属性,更具可读性
  • 服务器上需要更多空间来存储组件
  • 其他论据......

你能提出更多论据,并说出推荐的内容吗? 就个人而言,我更喜欢只绑定需要的属性。

2 个答案:

答案 0 :(得分:1)

这是一个很好的问题,但我个人也支持仅绑定所需的属性。

  

•在bean上只声明了一个属性,更具可读性

我挑战这个论点,因为我觉得它实际上很难读。我相信您的代码和标记是可以为系统行为提供的最佳文档。代码是为了人而不是机器而编写的,否则我们都会编写程序集。

声明您的显式属性和单个绑定声明了该组件的行为,我不能说看binding。那时我必须深入研究代码以了解组件的本质。

因此,对于第二种方法,您真正唯一真正的论点是页面标记较小,并且输入所需的时间较短。这些都是似是而非的争论,因为文件存储空间非常便宜,并且打字不是开发人员花费大部分时间的时间。

答案 1 :(得分:1)

我更喜欢值绑定,主要原因是值绑定使我更好地将表示层与模型层分离。此外,如果您的工作环境对UI设计人员和Java程序员分别负有责任,那么良好的分离就变得至关重要。

无论如何,每种技术都有其优点和缺点,请查看Java EE tutorial, Binding Component Values and Instances to External Data Sources并分析哪种技术最适合您的需要。