在客户端-服务器技术中,在'单独绑定所有属性'和'整个组件'(或其他方式)之间绑定元素的最佳方式是什么?
例如在JSF中:- <h:inputText value="#{bean.value}" rendered="#{bean.rendered}" disabled="#{bean.disabled}" readonly="#{bean.readonly}" />
- 只绑定需要的属性
- 在
bean
上声明了很多属性,可读性差,当有新属性绑定时修改视图 - 其他参数…
- <h:inputText binding="#{bean.inputTextBinding}" />
- 仅在
bean
上声明一个属性,更具可读性 - 需要更多的服务器空间来存储组件
- 其他参数…
你能给出更多的论据,并告诉什么是推荐的吗?我个人更喜欢只绑定需要的属性。
我更喜欢值绑定,主要原因是值绑定可以更好地将表示层与模型层分离开来。另外,如果你的工作环境中UI设计师和Java程序员的职责是分开的,那么良好的分离就变得至关重要。
无论如何,这些技术都有其优点和缺点,请查看Java EE教程,将组件值和实例绑定到外部数据源,并分析哪一个最适合您的需要。
这是一个很好的问题,但我个人也倾向于只绑定需要的属性。
•在bean上只声明一个属性,更具可读性
我质疑这个论点,因为我觉得它实际上是不太可读的。我相信您的代码和标记是可以为系统行为提供的最好的文档。代码是为人类而不是机器的利益而写的,否则我们都在写汇编了。
声明你的显式属性和单独的绑定声明了组件的行为是什么,我看不出binding
。这时,我必须更深入地挖掘代码,以理解组件的性质。
因此,对于第二种方法,唯一真正的论据是页面标记更小,输入所需的时间更短。这些都是似是而非的论点,因为文件存储空间非常便宜,而且打字并不是开发人员花费大部分时间的事情。