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

政府门户网站建设方案模板网络营销的现状及问题

政府门户网站建设方案模板,网络营销的现状及问题,网站图片展示方式有哪些,网站建设预算表格建造者模式 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的…

建造者模式

建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。

  • 类型: 创建型
  • 难度:中级

更多设计模式小故事案例代码详解 >>点我!点我!点我!<< 设计模式,如此简单~


解决问题

将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。


如何实现

将变与不变分离开


释义

实际例子

角色扮演类的游戏,在我们创建角色的时候,可以选择性别,身高,职业,如果我们要实现更为复杂的角色时,肤色,头发颜色等。但无论你怎么选择当你点击确认的时候你的角色就诞生了。

简单来讲

建造者模式可以让你使用同一个建造器,构建满足你要求的东西,无论组装的顺序,以及组装的内容多少。

百度百科的解释

建造者模式是设计模式的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

维基百科的解释

Builder模式是一个对象创建设计模式,为了寻找伸缩构造函数来解决具体问题。

让我们看一看到底是什么是伸缩构造函数

public Hero(Profession profession, String name, HairType hairType, HairColor hairColor, Armor armor, Weapon weapon) {
}

就像你所看到的这样,这个构造函数的参数可能在不久的将来业务的增长,会越来越长,变得难以维护。


代码实例讲解

此时使用建造者模式就是一个不错的选择

public final class Hero {private final Profession profession;private final String name;private final HairType hairType;private final HairColor hairColor;private final Armor armor;private final Weapon weapon;private Hero(Builder builder) {this.profession = builder.profession;this.name = builder.name;this.hairColor = builder.hairColor;this.hairType = builder.hairType;this.weapon = builder.weapon;this.armor = builder.armor;}
}

然后我们需要有一个建造者 Builder

  public static class Builder {private final Profession profession;private final String name;private HairType hairType;private HairColor hairColor;private Armor armor;private Weapon weapon;public Builder(Profession profession, String name) {if (profession == null || name == null) {throw new IllegalArgumentException("profession and name can not be null");}this.profession = profession;this.name = name;}public Builder withHairType(HairType hairType) {this.hairType = hairType;return this;}public Builder withHairColor(HairColor hairColor) {this.hairColor = hairColor;return this;}public Builder withArmor(Armor armor) {this.armor = armor;return this;}public Builder withWeapon(Weapon weapon) {this.weapon = weapon;return this;}public Hero build() {return new Hero(this);}}

然后他可以用作构建我们的参数。

Hero mage = new Hero.Builder(Profession.MAGE, "Riobard").withHairColor(HairColor.BLACK).withWeapon(Weapon.DAGGER).build();

更多完整代码 ===>> 传送门


使用契机

什么时候使用建造者模式?

  • 需要生成的对象具有复杂的内部结构。
  • 构造过程允许对构造的对象有不同的展示结果。

优缺点

优点

  1. 建造者独立,易扩展。
  2. 于控制细节风险。

缺点

  1. 产品必须有共同点,范围有限制。
  2. 如内部变化复杂,会有很多的建造类。

就在你身边的实际应用

JDK1.9 中英文 chm 格式文档下载

  • java.lang.StringBuilder
  • java.nio.ByteBuffer as well as similar buffers such as FloatBuffer, IntBuffer and so on.
  • java.lang.StringBuffer
  • All implementations of java.lang.Appendable
  • Apache Camel builders

参考文献

  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Effective Java (2nd Edition)
http://www.lbrq.cn/news/2783161.html

相关文章:

  • 抖音网站九易建网站的建站流程
  • 做搜索网站能发财吗专业seo培训学校
  • 常州网站制作it培训学校it培训机构
  • 网站开发使用什么技术百度分析工具
  • 镇江网站建设门户报价公司seo是什么意思
  • 做公司网站哪家好 上海怎么提升关键词的质量度
  • 024 网站推广今天热点新闻事件
  • 山西网站建设公司排名百度老年搜索
  • 中国建设银行个人网站公关服务
  • 保定 网站游戏推广代理app
  • 购物网站建设要多少钱外链代发
  • 做澳洲ets上什么网站百度智能云
  • 给老外做兼职的网站郑州搜狗关键词优化顾问
  • 疫情地区查询最新福州网站seo
  • 做网站app 需要多少钱推广普通话心得体会
  • 给网站做备案免费建网站哪家好
  • 以小说名字做网站的小说网各引擎收录查询
  • 网站备案成功后怎么办营销网络推广哪家好
  • 服装网站建设策划书友情链接网站源码
  • 我国企业网站的建设情况济南头条今日新闻
  • 自己建一个网站广州谷歌优化
  • 流行的网站建设技术有哪些日照网络推广公司
  • vps除了做网站还能做什么营销方式和营销策略
  • 如何将自己做的网站推广出去平台推广员是做什么的
  • 北京做网站的公司哪家好市场调研流程
  • 电商网站建设方向百度一下电脑版首页网址
  • 找个人做网站上海网站seo
  • 网站建设运营的灵魂是什么意思有效的网站推广方式
  • 想建设一个网站自己接一些小活软文
  • 做韩国护的网站seo课程培训要多少钱
  • JavaScript 性能优化实战(易懂版)
  • 【38页PPT】关于5G智慧园区整体解决方案(附下载方式)
  • 【C++】基础:C++11-14-17常用新特性介绍
  • 【科研绘图系列】R语言绘制平滑曲线折线图
  • 2025 | 腾讯混元RLVMR颠覆强化学习:可验证推理奖励引爆AI智能体新范式!
  • sfc_os!SfcQueueValidationRequest函数分析之sfc_os!IsFileInQueue