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

网站制作网络推广价格百度搜索首页

网站制作网络推广价格,百度搜索首页,网站开发存在的问题,qq空间怎么发布wordpress构建器设计模式以前我们看过工厂和抽象工厂模式。 这些模式可以达到目的#xff0c;并且确实有用#xff0c;但是在某些用例中#xff0c;我们必须创建一个非常复杂的对象#xff0c;并且创建它需要不同的步骤#xff0c;每个步骤都需要不同的操作。 在这种情况下#xf… 构建器设计模式 以前我们看过工厂和抽象工厂模式。 这些模式可以达到目的并且确实有用但是在某些用例中我们必须创建一个非常复杂的对象并且创建它需要不同的步骤每个步骤都需要不同的操作。 在这种情况下构建器模式可能非常有用。 构建器设计模式是一种创新设计模式可用于逐步创建复杂对象。 假设我们有一个具有许多依赖关系的对象并且为了获取每个依赖关系必须执行某些特定的操作。 在这种情况下我们可以使用构建器模式 将复杂对象的各个部分的创建和组装封装在一个单独的Builder对象中。 将对象创建委托给Builder对象而不是直接创建对象。 想象一下后端系统必须撰写和发送电子邮件的情况。 创建电子邮件可能是一个复杂的过程。 您必须指定标题设置收件人添加问候语和结束语。 您可能还想使用小胡子 。 有多种选择。 创建电子邮件所需的所有操作都只有一个班级这可能会使我们的班级肿并失去其初衷。 因此我们将从负责发送电子邮件的类开始。 package com.gkatzioura.design.creational.builder;public class Email {private final String title;private final String recipients;private final String message;public Email(String title, String recipients, String message) {this.title title;this.recipients recipients;this.message message;}public String getTitle() {return title;}public String getRecipients() {return recipients;}public String getMessage() {return message;}public void send() {} } 如您所见该类仅包含三个字符串字段并且对它们没有任何额外的处理。 因此我们将创建一个构建器类该类将处理消息格式收件人表示形式和Email类的创建。 package com.gkatzioura.design.creational.builder;import java.util.HashSet; import java.util.Set;public class EmailBuilder {private Set recipients new HashSet();private String title;private String greeting;private String mainText;private String closing;public EmailBuilder addRecipient(String recipient) {this.recipients.add(recipient);return this;}public EmailBuilder removeRecipient(String recipient) {this.recipients.remove(recipient);return this;}public EmailBuilder setTitle(String title) {this.title title;return this;}public EmailBuilder setGreeting(String greeting) {this.greeting greeting;return this;}public EmailBuilder setMainText(String mainText) {this.mainText mainText;return this;}public EmailBuilder setClosing(String closing) {this.closing closing;return this;}public Email create() {String message greeting\nmainText\nclosing;String recipientSection commaSeparatedRecipients();return new Email(title,recipientSection,message);}private String commaSeparatedRecipients() {StringBuilder sb new StringBuilder();for(String recipient:recipients) {sb.append(,).append(recipient);}return sb.toString().replaceFirst(,,);}} 下一步是使电子邮件创建更加严格以便只能通过EmailBuilder创建电子邮件。 package com.gkatzioura.design.creational.builder;import java.util.HashSet; import java.util.Set;public class Email {private final String title;private final String recipients;private final String message;private Email(String title, String recipients, String message) {this.title title;this.recipients recipients;this.message message;}public String getTitle() {return title;}public String getRecipients() {return recipients;}public String getMessage() {return message;}public void send() {}public static class EmailBuilder {private Set recipients new HashSet();private String title;private String greeting;private String mainText;private String closing;public EmailBuilder addRecipient(String recipient) {this.recipients.add(recipient);return this;}public EmailBuilder removeRecipient(String recipient) {this.recipients.remove(recipient);return this;}public EmailBuilder setTitle(String title) {this.title title;return this;}public EmailBuilder setGreeting(String greeting) {this.greeting greeting;return this;}public EmailBuilder setMainText(String mainText) {this.mainText mainText;return this;}public EmailBuilder setClosing(String closing) {this.closing closing;return this;}public Email build() {String message greeting\nmainText\nclosing;String recipientSection commaSeparatedRecipients();return new Email(title,recipientSection,message);}private String commaSeparatedRecipients() {StringBuilder sb new StringBuilder();for(String recipient:recipients) {sb.append(,).append(recipient);}return sb.toString().replaceFirst(,,);}} } 使用构建器模式创建电子邮件的最终结果将是这样。 Email email new Email.EmailBuilder().addRecipient(johnDoe.com).setMainText(Check the builder pattern).setGreeting(Hi John!).setClosing(Regards).setTitle(Builder pattern resources).build(); 总而言之通过使用构建器模式我们能够创建一个复杂的对象及其复杂的部分。 您可以在github上找到源代码。 在下一个博客中我们将讨论单例模式。 另外我还编写了备忘单其中包含“创作设计模式”的摘要。 在链接中注册以接收它。 翻译自: https://www.javacodegeeks.com/2018/03/creational-design-patterns-builder-pattern.html构建器设计模式
http://www.pierceye.com/news/770864/

相关文章:

  • 做国外购物网站凤山网站seo
  • 苏州制作网站的有几家WordPress文章编辑链接
  • 免费看电视剧的网站2021网站建设坂田
  • 网站建设中 目录怎么做更好wordpress最好用的虚拟主机
  • 网站百度网盘南京市建设局网站
  • 让别人做网站多久开始注册域名公司注册地址提供
  • 手机网站 设计趋势建设银行暑期招聘网站
  • 兰山做网站专业深圳网站定制开发
  • 做与食品安全有关的网站徐州企业网站设计
  • 番禺网站建设策划江阴市建设局官网站
  • 建设网站模块需要哪些内容石家庄城乡建设厅网站
  • 公司网站后台管理网络公司名字大全三字
  • 广西住房建设厅网站广州seo工作
  • 做分销商城网站的wordpress 知更鸟 网格
  • 推销商务网站的途径有哪些爱网站查询挖掘工具
  • 苏州现代建设公司网站备案的域名做电影网站
  • 长沙seo网站优化公司wordpress5.1下载
  • 七星彩网投网站建设鹤壁公司做网站
  • 多语言企业网站建设费用怎么自己做购物网站
  • 中国网站排名前100线上网站开发相关书籍
  • 网站制作图书网站建设指南
  • 网站备案简单吗优化关键词排名软件
  • 泉山网站开发安徽建设工程造价信息网
  • 如何使用电子商务网站做seo需要用到什么软件
  • 新乡商城网站建设哪家专业潮汕学院网站开发
  • 西安响应式网站开发网站空间多少钱一年
  • 做电子相册的大网站怎样提高网站的权重
  • seo网站设计外包去哪个网站有客户找做标书的
  • 微商招商网站源码互联网营销推广方案
  • 深圳做网站服务公司河北石家庄最新新闻