您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

怎么使用Java建造者模式构建复杂对象

2024/4/20 9:33:08发布27次查看
介绍java中的建造者模式是一种创建型设计模式,它的主要目的是为了通过一系列简单的步骤构建复杂的对象,允许创建复杂对象的不同表示形式,同时隐藏构造细节.它能够逐步构建对象,即先创建基本对象,然后逐步添加更多属性或部件,直到最终构建出完整的对象.
该模式的主要思想是将对象的构造过程分解成多个步骤,每个步骤都可以独立运行,并且在每个步骤完成后都可以返回一个中间状态,然后使用一个导演类来协调这些步骤,最终创建出完整的对象.
建造者模式通常包括一下角色:
产品类(product):被构造出来的复杂对象,它具有多个属性或部件.
抽象构造者类(builder):定义了构建复杂对象所需的方法和属性.
具体建造者类(concretebuilder):实现抽象建造者类中定义的方法和属性,并返回最终构造的对象
导演类(director):负责协调各个具体建造者类的构建过程,以及返回最终构造的对象,
实现首先创建一个产品类
package com.fanqiechaodan.build;import lombok.data;/** * @classname car * @description 产品类 */@datapublic class car { private string brand; private string model; private string color; private int maxspeed;}
其次创建抽象建造者类
package com.fanqiechaodan.build;/** * @classname carbuilder * @description 抽象建造者类 */public abstract class carbuilder { protected car car; public carbuilder(){ car = new car(); } public abstract void buildbrand(); public abstract void buildmodel(); public abstract void buildcolor(); public abstract void buildmaxspeed(); public car getcar() { return car; }}
然后创建具体构造者类
package com.fanqiechaodan.build;/** * @classname bmwbuilder * @description 具体构造者类 */public class bmwbuilder extends carbuilder { @override public void buildbrand() { car.setbrand("bmw"); } @override public void buildmodel() { car.setmodel("x6"); } @override public void buildcolor() { car.setcolor("black"); } @override public void buildmaxspeed() { car.setmaxspeed(218); }}
创建导演类
package com.fanqiechaodan.build;/** * @classname director * @description 导演类 */public class director { private carbuilder carbuilder; public director(carbuilder carbuilder) { this.carbuilder = carbuilder; } public car constructcar() { carbuilder.buildbrand(); carbuilder.buildcolor(); carbuilder.buildmaxspeed(); carbuilder.buildmodel(); return carbuilder.getcar(); }}
测试
package com.fanqiechaodan.build;/** * @classname demo * @description 建造者模式 */public class demo { public static void main(string[] args) { carbuilder carbuilder = new bmwbuilder(); director director = new director(carbuilder); car car = director.constructcar(); system.out.println(car.tostring()); }}
以上就是怎么使用java建造者模式构建复杂对象的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product