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

青岛正规品牌网站制作策划百姓网推广怎么收费标准

青岛正规品牌网站制作策划,百姓网推广怎么收费标准,互联网技术英文,电商平台代运营建造者模式 建造者模式案例与工厂模式的区别:Builder 注解 建造者模式 建造者模式是将一个复杂对象的构件与表示分离,使得同样的构件过程可以创建不同的表示。 建造者模式将内部构件的创建和组装分割开,一般使用链式编程,代码整洁…

建造者模式

  • 建造者模式
    • 案例
    • 与工厂模式的区别:
    • @Builder 注解

建造者模式

建造者模式是将一个复杂对象的构件与表示分离,使得同样的构件过程可以创建不同的表示。
建造者模式将内部构件的创建和组装分割开,一般使用链式编程,代码整洁优雅

案例

建造者模式比较简单,这里就直接上代码了

以 RabbitMQClient 为例实现建造者模式

public class RabbitMQClient {// 私有构造,目标类的构造方法要传入一个Builder对象private RabbitMQClient(Builder builder){}// builder类位于目标类的内部,并且使用static修饰public static class Builder{// 保证不可变对象的密闭性private String host = "127.0.0.1";private int port = 5672;private int mode;private String exchange;private String queue;private boolean isDurable = true;int connectTime = 1000;public String getHost() {return host;}public Builder setHost(String host) {this.host = host;return this;}public int getPort() {return port;}public Builder setPort(int port) {this.port = port;return this;}public int getMode() {return mode;}public Builder setMode(int mode) {this.mode = mode;return this;}public String getExchange() {return exchange;}public Builder setExchange(String exchange) {this.exchange = exchange;return this;}public String getQueue() {return queue;}public Builder setQueue(String queue) {this.queue = queue;return this;}public boolean isDurable() {return isDurable;}public Builder setDurable(boolean durable) {isDurable = durable;return this;}public int getConnectTime() {return connectTime;}public Builder setConnectTime(int connectTime) {this.connectTime = connectTime;return this;}//    builder提供 build()方法,实现目标对象的创建public RabbitMQClient build(){if (mode == 1) {// 工作队列模式不需设计交换机,但是队列名称一定要有if (exchange != null) {throw new RuntimeException("工作队列模式不需设计交换机");}if (queue == null || queue.trim().equals("")) {throw new RuntimeException("工作队列不能为空");}if (isDurable == false) {throw new RuntimeException("工作队列模式必须开启持久化");}} else if (mode == 2) {// 路由模式必须设计交换机,但是不能设计队列if (exchange == null) {throw new RuntimeException("路由模式必须设计交换机");}if (queue != null) {throw new RuntimeException("路由模式无需设计队列名称");}}return new RabbitMQClient(this);}}public void sendMsg(String msg){System.out.println("发送消息:"  + msg);}}

测试代码如下:

@Test
public void builderTest(){RabbitMQClient client = new RabbitMQClient.Builder().setHost("192.168.11.111").setMode(1).setPort(5672).setQueue("queue-test").build();client.sendMsg("this is test");
}

与工厂模式的区别:

工厂模式注重整体对象的创建,建造者模式注重构件的创建,然后再将构件组装成一个完整的对象。
一般情况下,建造者模式创建的对象更复杂
工厂模式是生产工厂,建造者模式是组装工厂

这里引申一下建造者模式简单构件方法——使用lombok 包下面的 @Builder 注解

@Builder 注解

使用@Builder 注解 可以方便快捷使用 建造者模式
下面使使用案例

@Builder
public class RabbitMQClient2 {private String host = "127.0.0.1";private int port = 5672;private int mode;private String exchange;private String queue;private boolean isDurable = true;int connectTime = 1000;public void sendMsg(String msg){System.out.println("发送消息:"  + msg);}}

测试代码:

/*** lombok @Builder 注解使用*/
@Test
public void builder2Test(){RabbitMQClient2 client = RabbitMQClient2.builder().host("192.168.11.111").mode(1).port(5672).queue("queue-test").build();client.sendMsg("this is test");
}
http://www.hotlads.com/news/355.html

相关文章:

  • 建个企业网站需要什么百度指数与百度搜索量
  • 数据型网站什么是百度搜索推广
  • 做精酿啤酒购买的网站谷歌商店app下载
  • 西宁市网站建设价格百度推广二级代理商
  • 网站设计用户体验平台如何做推广
  • wordpress 回复邮件公众号排名优化软件
  • wordpress破解合肥网络seo
  • phpcms模板下载企业网站关键词优化
  • 华为云自助建站好不好seo客服
  • 秦皇岛手机网站制作费用seo常见的优化技术
  • 专做商品折扣的网站如何制作一个网站
  • b2b电子商务平台主要类型汕头百度seo公司
  • 做网站上的图片如何设定分辨率品牌宣传文案范文
  • 教育网站制作济南网站推广公司
  • 网站内容规划模板百度知道官网入口
  • 做淘宝客的网站需要备案吗域名批量查询注册
  • html5手机网站制作seo和sem分别是什么
  • 沈阳网站制作全过程如何进行关键词优化工作
  • 用php做的网站源代码韩国vs加纳分析比分
  • 做房产网站有哪些百度新闻最新消息
  • 网站分析 案例网页版
  • 百度站长平台app抖音账号权重查询入口
  • 石家庄+网站建设网络营销的原理
  • 成都建设学校网站营销网站大全
  • axure怎么做长页面网站精准营销系统
  • 家庭网络设计方案合肥seo排名公司
  • 设计单位有哪些公司免费seo营销软件
  • 泰安招聘网站有哪些教育机构
  • 用主机宝建立的网站上传之后404今天新闻联播
  • 网站页面设计版权怎样开自己的网站