我有这样一个类:什么是首选,使用setter或builder?
public class Team
{
private final String id;
private final String subOrgId;
private final String teamName;
private final String costCenter;
private final String email;
private final String seaSecurityGroup;
private final String expesoSecurityGroup;
public Team(final String id, final String subOrgId, final String teamName, final String costCenter,
final String email, final String seaSecurityGroup, final String expesoSecurityGroup)
{
this.id = id;
this.subOrgId = subOrgId;
this.teamName = teamName;
this.costCenter = costCenter;
this.email = email;
this.seaSecurityGroup = seaSecurityGroup;
this.expesoSecurityGroup = expesoSecurityGroup;
}
public String getId()
{
return id;
}
public String getSubOrgId()
{
return subOrgId;
}
public String getTeamName()
{
return teamName;
}
public String getCostCenter()
{
return costCenter;
}
public String getEmail()
{
return email;
}
public String getSeaSecurityGroup()
{
return seaSecurityGroup;
}
public String getExpesoSecurityGroup()
{
return expesoSecurityGroup;
}
}
现在,我已经在那里我需要设置类团队的ID的新值的使用情况。我认为我应该在课堂上为这个做一个二传手(宣布id为非最终)并使用它。但是,我也认为我应该继续做一个建设者并使用它。虽然写一个二传手很少工作,但我想确保我正在以正确的模式继续前进。在这种情况下推荐什么?
谢谢!
只有你自己知道,但看起来像任何其他POJO可能是一个Javabean –
在我看来,建设者不是正确的模式。当你想使用不可变的对象时,你可以添加一个setter,它只创建一个新的实例,只更改设置的值。 –
我不会认为这个不可变类是一个没有认真思考的可变类,如果它已被使用,那么假设可能已被假定为不可变的。 –