当前位置: 首页 > news >正文

网站开发三大元素筑龙网官网

网站开发三大元素,筑龙网官网,wordpress字体加载,做网站配置介绍 Java的建造者(Builder)设计模式可以将产品的内部表现和产品的构建过程分离开来,这样使用同一个构建过程来构建不同内部表现的产品。 建造者设计模式涉及如下角色: 产品(Product)角色:被…

介绍

Java的建造者(Builder)设计模式可以将产品的内部表现和产品的构建过程分离开来,这样使用同一个构建过程来构建不同内部表现的产品。

建造者设计模式涉及如下角色:

  • 产品(Product)角色:被建造的复杂对象。对象包括了多个部分,这些部分有可能有顺序关系,需要按照一定的顺序来创建。
  • 抽象构建者(Builder)角色:定义了构建产品各部分的接口,一般产品中的每个部分对应一个接口。另外,还提供返回产品的接口。抽象构建者跟具体的业务逻辑无关。
  • 具体构建者(Concrete Builder)角色:实现抽象构建者的接口,跟具体的业务逻辑相关,完成具体产品各部分的构建。如果要构建的不同产品包含的部件数量不完全相同,那也可以在抽象构建者角色中定义一套全的接口,但在具体构建者角色中对产品没有的那部分部件的构建接口实现为空。
  • 导演者(Diretor)角色:直接和客户端打交道,调用具体构建者角色创建具体的产品。

代码示例

定义一个产品:

package com.thb;public class Packet {private String header;private String content;private int contentLength;public void setHeader(String header) {this.header = header;}public void setContent(String content) {this.content = content;}public void setContentLength() {this.contentLength = content.length();}public void showSummary() {System.out.println("header: " + this.header);System.out.println("content: " + this.content);System.out.println("contentLength: " + this.contentLength);}
}

定义抽象构建者:

package com.thb;public abstract class Builder {protected Packet packet;public Builder() {this.packet = new Packet();}public abstract void builidHeader();public abstract void builidContent();public void builidContentLength() {this.packet.setContentLength();}public Packet getResult() {return this.packet;}
}

定义一个具体构建者:

package com.thb;public class HeartBeatPacketBuilder extends Builder {@Overridepublic void builidHeader() {this.packet.setHeader("heartbeat header");}@Overridepublic void builidContent() {this.packet.setContent("heartbeat content");}}

定义另外一个具体构建者:

package com.thb;public class RegisterPacketBuilder extends Builder {@Overridepublic void builidHeader() {this.packet.setHeader("register header");}@Overridepublic void builidContent() {this.packet.setContent("register content");}}

定义导演者:

package com.thb;public class Director {private Builder builder;public Packet construct(Builder builder) {this.builder = builder;builder.builidHeader();builder.builidContent();builder.builidContentLength();return this.builder.getResult();}
}

定义主类,模拟客户端调用:

package com.thb;public class Test1 {public static void main(String[] args) {Director director = new Director();Builder heartBeatPacketBuilder = new HeartBeatPacketBuilder();Packet heartBeatPacket = director.construct(heartBeatPacketBuilder);heartBeatPacket.showSummary();System.out.println("------------------------------------");Builder registerPacketBuilder = new RegisterPacketBuilder();Packet registerPacket = director.construct(registerPacketBuilder);registerPacket.showSummary();}
}

运行输出:
在这里插入图片描述

http://www.yayakq.cn/news/511417/

相关文章:

  • 凡科网站怎么做链接网站开发如何搭建框架
  • 企业网站建设的特点海报设计图片简单
  • 福州电商网站设计自己做网站网页文件在哪里
  • 外贸英文网站设计宝安网站建设 名匠
  • apache网站部署建筑公司网站常用长尾词
  • 有关小城镇建设的网站服务好的丹阳网站建设
  • 如何使用上线了app建设网站3d建模培训班有用吗
  • 奇胜网络 邯郸网站建设站长论坛 激活网站
  • 网站策划的最终体现是撰写网站策划书win7电脑做网站主机
  • 杭州群游科技网站做的魔域手工制作玫瑰花
  • 商城网站平台wordpress 留言本插件
  • 中国建设银行江西分行网站首页主机开通成功网站建设中
  • 百度建站网页界面设计概念
  • 精选微信网站建设云南做网站公司
  • 网站备案名称重复西安网站制作工作室
  • 泰兴网站推广做网站花溪村镇建设银行网站
  • 京东网站建设费用企业网站建设技
  • 新乡营销网站建设公司哪家好做网站没有做退钱
  • 2021年最新的网站游戏公司招聘网站
  • 徐家汇网站建设徐州微网站开发公司
  • 定制网站开发企业培训网站模板
  • 青岛网站设计微动力网络工程师自学网站
  • 行业协会网站织梦模板视频拍摄制作
  • 网站建设步骤电脑手机网站这么做链接
  • 分切机网站建设中国哪里在大建设
  • 有没有做西餐的视频网站网站设置ico
  • 做网站程序先从哪一步开始科技公司网站模版
  • 辽宁电力建设监理有限公司网站网页报价表
  • 怎样在各大网站发布信息网站风格指的是什么
  • 有名的网站开发工具平面设计课程标准