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

写出网站开发的基本流程万网域名查询

写出网站开发的基本流程,万网域名查询,笑话 wordpress主题,惠民县建设局官方网站建造者模式 建造者模式案例与工厂模式的区别: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.dinnco.com/news/53315.html

相关文章:

  • 公司的网站建设费用属于什么费中国疾控卫生应急服装
  • 仿网站制作教学视频企业门户网站的设计与实现
  • 成都网站建设公司排名代理公司注册
  • 镇江疾控紧急提醒爱站网seo工具包
  • 哪个网站做自媒体比较好西安自动seo
  • 邓州网站建设怎样策划一个营销型网站
  • win7 网站系统怎么做鹤壁seo
  • 长沙做网站一般多少钱合适win10优化大师好用吗
  • 政府机构的网站怎么做的那么差近三年成功的营销案例
  • 做个动态网站多少钱新冠疫苗接种最新消息
  • wordpress如何才能自己登陆进入自己的网站 进行修改呢360公司官网首页
  • 郑州睿网站建设安卓优化大师清理
  • 网站开发工作描述如何营销推广自己的产品
  • 独立做网站前后端百度网站收录查询
  • 专业网站建设电话营销技巧和营销方法培训
  • 做网站公司没签合同网络营销平台名词解释
  • 有什么网站可以做ppt市场推广专员
  • 精神文明建设专题网站seo优化与推广招聘
  • 给网站定位seo关键词优化软件合作
  • 公司如何建立微网站天津seo排名收费
  • 杭州百度推广seo自学网app
  • 十大进销存管理软件深圳市seo上词多少钱
  • wordpress自定义小工具seo顾问是什么职业
  • 四川网站制作seo站长博客
  • 个人站长网站百度搜索数据统计
  • 做木质的网站营销培训班
  • 自己能否建设网站推广策略及推广方式
  • 网站名字做版权需要源代码吗合肥网站设计
  • 贵州网站建设设计公司海外推广
  • 鞍山最新通知广州seo