Java のクリエイター モードはファクトリー モードに似ていますが、焦点が異なります。多くの場合、ファクトリー パターンでは、必要なものだけが考慮され、その具体的な詳細は考慮されません。比較的言えば、作成モードは、このものの作成の具体的な詳細に関係します。例としてキャラクターの作成を考えます。キャラクターの作成だけでなく、性別、肌の色、名前も考慮します。次に、クリエイター モードを使用します。
プログラム例は以下のとおりです。
package builder;/** * * DOC Race role* */public class Race { private String name;// 名前 private String SkinColor;// 肌の色 private String sex;// 性別 public String getName() { return this.name ; } public void setName(String name) { this.name = name; } public String getSkinColor() { return this.skinColor; this.skinColor =skinColor; } public String getSex() { return this.sex; } public void setSex(String sex) { this.sex = sex }}package builder;/** * * DOC ではありません。キャラクターを作成するには、その特性の作成にも注意する必要があります* */public class RaceBuilder { private Race Race; /** * DOC レースを作成します* * @return */ public RaceBuilder builder() { this.種族=新しいRace(); return this; } /** * 名前を選択する DOC* * @return */ public RaceBuilder setName(String name) { this.race.setName(name); /** * DOC to を返す性別を選択* * @return */ public RaceBuilder setSex(String sex) { this.race.setSex(sex) } /** * DOC 肌の色を選択* * @return */ public RaceBuilder; setSkinColor(String SkinColor) { this.race.setSkinColor(skinColor); return this; } /** * * DOC 作成されたレースを返します* * @return */ public Race create() { return this.race;
テストクラスは次のとおりです。
package builder;public class Main { public static void main(String[] args) { Race Race = new RaceBuilder().builder().setName("張三").setSex("男性").setSkinColor("白" )。作成する(); }}