2014-11-03 29 views
4

Java组件,据我所知,应该始终:什么是Java bean的约定,并实现了像Comparable这样的接口?

  1. 只有一个空的构造
  2. 只有字段,这些字段的getter/setter方法。

但是,我想知道什么约定是Java bean来实现接口,如Comparable?我可以将java bean保留为纯粹的,这意味着绝对没有行为,只有数据,并且编写自定义的比较器类。但是实现可比较的过程更容易。

当涉及到实现像Comparable to Java Beans这样的简单通用接口时,是否有任何约定?我自己也找不到任何后果,但感觉我可能会违反一些规则,并且可能有一些我没有想到的东西。

回答

3

恕我直言,这个问题大多不是关于约定,而是关于需求。

你说得对,从任何业务逻辑中分离bean的东西是一种很好的风格。我想在这里补充一点,这通常是一个很好的做法,因为你的豆类和比较关系是许多一对多,即

  1. 你可能会举行一些比较一个bean类,并在不同场合下
  2. 使用它们
  3. 有时您可以重复使用一个比较器来处理几个不同的类,或者创建比较器的层次结构。

然而,您将比较逻辑写入类本身并不那么冗长,在某些情况下更可取。这个选择完全取决于作者对他/她正在处理的应用程序的品味和要求。

+0

我还没有在这种情况下需要多个比较器。你是对的,不同的情况会给出不同的答案。在这种情况下,我想看看是否有什么理由在我将两者分开时有利。在大型企业应用程序中,我认为重要的是要考虑所有可能的扩展需求,并使设计对变化具有可靠性。换句话说,您给了我一个很好的理由来分离来自Java Bean的比较操作。谢谢。 – KjetilNordin 2014-11-03 10:57:37

+0

我很高兴知道我的回答很有帮助。祝你好运。 – AlexR 2014-11-03 12:10:43

相关问题