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

邯郸做wap网站费用福州网龙网络公司

邯郸做wap网站费用,福州网龙网络公司,广东品牌女装都有哪些品牌,先做网站还是先申请域名本文实践代码仓库#xff1a;https://github.com/goSilver/my_practice 文章目录 一、定义二、作用三、实现四、总结 一、定义 建造者模式是一种创建复杂对象的设计模式。它将一个复杂对象的构建过程分解为多个简单的步骤#xff0c;并且允许按照特定的顺序来构建对象。通过… 本文实践代码仓库https://github.com/goSilver/my_practice 文章目录 一、定义二、作用三、实现四、总结 一、定义 建造者模式是一种创建复杂对象的设计模式。它将一个复杂对象的构建过程分解为多个简单的步骤并且允许按照特定的顺序来构建对象。通过使用建造者模式我们可以将对象的构建算法与表示分离从而可以使用相同的构建过程来创建不同的表示。通过使用建造者模式我们可以更加灵活地构建复杂对象同时也可以避免构造方法的参数过多和构造方法的复杂性。 二、作用 避免目标对象构造函数的参数列表过多影响代码的可读性和可维护性解决参数之间存在依赖关系时的校验逻辑避免目标对象暴露set()方法保证对象不可变避免目标对象存在中间无效状态。 三、实现 创建一个Builder类专门用于对象的创建先创建建造者并且通过 set() 方法设置建造者的变量值然后在使用 build() 方法真正创建对象之前做集中的校验校验通过之后才会创建对象。 此处定义一个ResourcePoolConfig连接池资源类并为它再定义一个Builder类由Builder类提供set()方法和包含复杂校验逻辑的build()方法。 public class ResourcePoolConfig {private String name;private int maxTotal;private int maxIdle;private int minIdle;private ResourcePoolConfig(Builder builder) {this.name builder.name;this.maxTotal builder.maxTotal;this.maxIdle builder.maxIdle;this.minIdle builder.minIdle;}//...省略getter方法.../*** 我们将Builder类设计成了ResourcePoolConfig的内部类。* 我们也可以将Builder类设计成独立的非内部类ResourcePoolConfigBuilder。*/public static class Builder {private static final int DEFAULT_MAX_TOTAL 8;private static final int DEFAULT_MAX_IDLE 8;private static final int DEFAULT_MIN_IDLE 0;private String name;private int maxTotal DEFAULT_MAX_TOTAL;private int maxIdle DEFAULT_MAX_IDLE;private int minIdle DEFAULT_MIN_IDLE;public ResourcePoolConfig build() {// 校验逻辑放到这里来做包括必填项校验、依赖关系校验、约束条件校验等if (StrUtil.isBlank(name)) {throw new IllegalArgumentException(name should not be empty.);}if (maxIdle maxTotal) {throw new IllegalArgumentException(maxIdle maxTotal);}if (minIdle maxTotal || minIdle maxIdle) {throw new IllegalArgumentException(minIdle maxTotal or minIdle maxIdle);}return new ResourcePoolConfig(this);}public Builder setName(String name) {if (StrUtil.isBlank(name)) {throw new IllegalArgumentException(...);}this.name name;return this;}public Builder setMaxTotal(int maxTotal) {if (maxTotal 0) {throw new IllegalArgumentException(...);}this.maxTotal maxTotal;return this;}public Builder setMaxIdle(int maxIdle) {if (maxIdle 0) {throw new IllegalArgumentException(...);}this.maxIdle maxIdle;return this;}public Builder setMinIdle(int minIdle) {if (minIdle 0) {throw new IllegalArgumentException(...);}this.minIdle minIdle;return this;}} }四、总结 和工厂模式有何区别 工厂模式是用来创建不同但是相关类型的对象继承同一父类或者接口的一组子类由给定的参数来决定创建哪种类型的对象。建造者模式是用来创建一种类型的复杂对象通过设置不同的可选参数“定制化”地创建不同的对象。 网上有一个经典的例子很好地解释了两者的区别。 顾客走进一家餐馆点餐我们利用工厂模式根据用户不同的选择来制作不同的食物比如披萨、汉堡、沙拉。对于披萨来说用户又有各种配料可以定制比如奶酪、西红柿、起司我们通过建造者模式根据用户选择的不同配料来制作披萨。 弊端 使用建造者模式来构建对象目标对象的成员变量需要在Builder类中重新定义一遍。
http://www.dnsts.com.cn/news/151048.html

相关文章:

  • 网站怎么做免费推广网站建立公司四川
  • 一个服务器可以放多少网站备案查询入口
  • 盈利网站备案网站开发有什么网站
  • 摩托车专业网站wordpress插件原理
  • 企业建站系统是什么名费网站制作视频教程
  • 部标平台软件网站开发嘉峪关市建设局网站
  • 网站代码优化有哪些礼嘉网络推广
  • 网站后台管理系统模板 html网站宣传的优点
  • 企业网站排名软件度智能优化精美网页赏析
  • 网站建设的申请理由网店库存管理软件
  • 网站图片怎么优化是网站推广的案例
  • 北京网站建设的服务公司微建网站
  • 高唐网站建设建设工程施工员考试在哪个网站
  • 技术支持广州网站建设北京市网站制作
  • 阿里云网站备案流程陕西住房与建设厅网站
  • 深圳网站建设设计网站建设的利益
  • app网站开发学习服务之家网站推广公司
  • 做自己的网站花多钱商品房交易网
  • 域名网站空间做网站遵义
  • 营销型网站设计模板个人网站包含哪些内容
  • 山东seo网站推广360建筑网官网下载
  • 网站建设总结与丹阳论坛
  • 建设银行网站查余额新闻平台发布
  • 阳春县建设局网站深圳全屋整装哪家公司好
  • 网站降权不更新文章可以吗网站建设seo方案
  • 重庆seo网站排名优化有没有做电子名片的网站
  • 手机网站变灰枣庄市建设项目环评备案网站
  • 网站开发机构班级网站建设策划书
  • 广州制作网站公司哪家好南京百度推广网站
  • 网站建设项目策划书模板范文网站建设与制作模板