建造者模式
发布时间:2020-12-15 08:00:43 所属栏目:Java 来源:网络整理
导读:构建者模式是为了把对象的构建和表现分离 ? 当一个对象比较复杂时,我们需要如何做? ? 重载构造方法 public class BuildMode { private String param1; private String param2; private String param3; private String param4; public BuildMode(){ new Bui
构建者模式是为了把对象的构建和表现分离 ? 当一个对象比较复杂时,我们需要如何做? ? 重载构造方法 public class BuildMode { private String param1; private String param2; private String param3; private String param4; public BuildMode(){ new BuildMode(param1,"",""); } public BuildMode(String param1){ new BuildMode(param1,""); } public BuildMode(String param1,String param2){ new BuildMode(param1,param2,String param2,String param3){ new BuildMode(param1,param3,String param3,String param4){ this.param1 = param1; this.param2 = param2; this.param3 = param3; this.param4 = param4; } } 构造方法重用 ,使用者根据参数来创建对象,代码比较繁琐
? javaBeans方式 public class BuildMode { private String param1; private String param2; private String param3; private String param4; public String getParam1() { return param1; } public void setParam1(String param1) { this.param1 = param1; } public String getParam2() { return param2; } public void setParam2(String param2) { this.param2 = param2; } public String getParam3() { return param3; } public void setParam3(String param3) { this.param3 = param3; } public String getParam4() { return param4; } public void setParam4(String param4) { this.param4 = param4; } } 使用: BuildMode buildMode = new BuildMode() buildMode.setParam1("param1"); buildMode.setParam2("param2"); buildMode.setParam3("param3"); buildMode.setParam4("param4"); ? ?代码可读行不好。 ? 构建者模式 package com.yangfei.design; public class BuildMode { private String param1; private String param2; private String param3; private String param4; public BuildMode(Build build){ this.param1 = build.param1; this.param2 = build.param2; this.param3 = build.param3; this.param4 = build.param4; } public static final class Build{ private String param1; private String param2; private String param3; private String param4; public Build(String required){ this.param4 = required; } public Build setParam1(String param1) { this.param1 = param1; return this; } public Build setParam2(String param2) { this.param2 = param2; return this; } public Build setParam3(String param3) { this.param3 = param3; return this; } public BuildMode build() { return new BuildMode(this); } } public static void main(String[] args) { BuildMode.Build build = new BuildMode.Build("required"); //使用建造者模式 可读行更好 BuildMode buildModeInstance = build.setParam1("param1") .setParam2("param2") .setParam3("param3").build(); } } ? 当参数越来越多时 推荐使用建造者模式! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |