在 JAVA 类中有 20-25 个实例变量及其 getter/setter 是否是好的 OO 设计?
所有变量都是完全独立的。
由于我在 HBase 中使用一个类,它代表一个列族,因此该列族的每一行可以有不同数量的列。所以我必须把这么多的变量放在那个类中。我很想知道,理想情况下,一个 JAVA 类应该有多少个实例变量和方法?
5 回答
想要做好OO,找类有单一职责就好了。所以如果你有这么多不相关的变量,听起来这个类做的太多了。
这将是一种“代码气味”,您应该考虑将其重新分解为多个类。
太好了,您对好的 OO 感兴趣。我建议阅读重构和代码气味。
在 20-25 个实例变量中,您应该在限制范围内,但是,我认为 20-25 可能太多了。您可以尝试将它们分组到不同的类中,并减少实例变量的数量。
通常具有大量实例变量会使类的范围受到限制,这在您希望维护解决方案的情况下并不理想。分解它(如果做得好)应该会增加一些类的可重用性。
Java 对类可以拥有的 java 实例变量没有任何限制。根据您的要求,您可以拥有任意数量的实例变量。
要记住的关键点是只能通过 getter 和 setter 方法访问。用户不应该能够使用实例变量的名称直接访问它们。
意味着实例变量应该用私有修饰符声明,并且必须提供公共方法来访问和操作它们。
好吧,如果你的类代表数据持有者对象,那么就可以了。这种设计在 java bean 中很常见。
例如,如果你有一个代表公司员工的类,那么如果一个员工有 20-25 个属性,这是很常见的。
但是,如果您将这么多的实例变量与业务方法混为一谈,那么您将面临困难,因为您将无法获得集中和集中的业务组件。
为了使其在架构方面更好,您可以考虑继承(子类)或组合(内部类)