我应该创建新类还是使用现有类

时间:2013-10-21 06:09:50

标签: java

我有以下BO已经存在于系统

public class userBO
{
    private String userId;
    private String password;
    private String firstName;
    private String midName;
    private String lastName;
    private String userType;
    private String userDepartment;
    private String userAuthority;

    //There are some more fields
    //getter and setter

}

现在我想构建一个下拉列表,其中我将显示Name(firstName + lastName)并将使用userId作为值。因此,我将列出一个对象列表。

所以我的问题是我应该使用现有的userBO类还是应该创建类似下面的新类

public class userDropDwonBO
{
    private String userId;
    private String firstName;
    private String lastName;

    //getter and setter

}

我想从Good Architect的角度和性能观点来了解答案,如果我使用新的userDropDownBO

,会有更好的表现吗?

2 个答案:

答案 0 :(得分:2)

userDropDownBO对象肯定会比上面的类使用更少的内存。

因为所有成员都是私有的intance变量,每次调用构造函数时,都会在堆栈上创建一组所有私有变量,并将其初始化为默认值,因此会消耗更多的内存和初始化时间。

但这完全取决于你的要求:

  1. 如果除了这三个字段之外还需要其他字段,请转到userBO类。
  2. 如果不需要其他字段但是没有要创建的对象数量很少,请转到userBO
  3. 如果不需要其他字段但是没有要创建的对象数量非常大,请转到userDropDownBO
  4. 个人意见和休息是你的选择。

答案 1 :(得分:0)

如果你打算在现有名为 UserBO 的旁边创建一个新类,只是为了将它绑定到JComboBox,那肯定会浪费内存和浪费时间。此外,您还需要提供一个额外的逻辑,将 UserBO 类型的原始对象映射到 UserDropDownBO 类型的对象。 我想说你的方法可能适用于BO本身处理如此复杂的情况,因此你需要在下拉框中创建一个单独的模型。