Ich habe eine Klasse wie folgt aus:Was ist bevorzugt, mit Setter oder 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;
}
}
Jetzt habe ich einen Anwendungsfall, wo in ich einen neuen Wert der ID in der Klasse-Team einstellen müssen. Ich bin der Meinung, dass ich dafür in der Klasse einen Setter machen sollte (deklariere id als nicht-final) und benutze das. Ich denke aber auch, dass ich wahrscheinlich einen Baumeister bauen und das benutzen sollte. Ein Setter zu schreiben ist zwar weniger Arbeit, aber ich möchte sicherstellen, dass ich mit dem richtigen Muster fortfahre. Was ist in einem solchen Fall zu empfehlen?
Danke!
Nur Sie wissen sicher, aber das sieht aus wie jeder andere POJO, der ein Javabean sein könnte –
Meiner Meinung nach ist ein Builder nicht das richtige Muster. Wenn Sie unveränderliche Objekte verwenden möchten, können Sie einen Setter hinzufügen, der eine neue Instanz mit nur dem geänderten Wert erstellt. –
Ich würde diese unveränderliche Klasse nicht ohne ernsthafte Überlegung in eine wandelbare Klasse einbeziehen, wenn sie bereits in Verwendung ist, sind wahrscheinlich Annahmen darüber getroffen worden, dass sie unveränderlich ist. –