Der Erstellermodus von Java ähnelt in gewisser Weise dem Fabrikmodus, der Fokus ist jedoch anders. Beim Fabrikmuster geht es oft nur um das, was Sie wollen, nicht aber um die spezifischen Details dieser Sache. Relativ gesehen befasst sich der Schöpfungsmodus mit den spezifischen Details der Schöpfung dieser Sache. Nehmen wir als Beispiel die Erstellung eines Charakters. Wir kümmern uns nicht nur um die Erstellung eines Charakters, sondern auch um sein Geschlecht, seine Hautfarbe und seinen Namen. Dann können wir den Erstellermodus verwenden.
Das Programmbeispiel lautet wie folgt:
package builder;/** * * DOC Race Role* */public class Race { private String name;// name private String skinColor;// skin color private String sex;// gender public String getName() { return this.name ; } public void setName(String name) { this.name = name; } public String getSkinColor() { return this.skinColor } public void setSkinColor(String skinColor) { this.skinColor = skinColor; } public String getSex() { return this.sex; } public void setSex) { this.sex = sex }}package builder;/** * * DOC Was uns interessiert ist nicht Um einen Charakter zu erstellen, müssen Sie sich auch um die Erstellung seiner Eigenschaften kümmern* */public class RaceBuilder { private Race race;** * DOC Create a Race* * @return */ public RaceBuilder builder() { this. Rasse = neu Race(); return this; } /** * DOC to select a name* * @return */ public RaceBuilder setName(String name) { this.race.setName(name); Wählen Sie ein Geschlecht aus* * @return */ public RaceBuilder setSex(String sex) { this.race.setSex(sex); return this } /** * DOC select skin color* * @return */ public RaceBuilder setSkinColor(String skinColor) { this.race.setSkinColor(skinColor); return this;
Die Testklassen sind wie folgt:
package builder;public class Main { public static void main(String[] args) { Race race = new RaceBuilder().builder().setName("Zhang San").setSex("Male").setSkinColor("White" ).erstellen(); }}