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

中山cms建站模板小小影院免费高清电视剧

中山cms建站模板,小小影院免费高清电视剧,网站机房建设成本,wordpress 判断自定义栏目本文实践代码仓库#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/36256.html

相关文章:

  • html5 网站自适应网站链接网址怎么做
  • 织梦 网站统计徐州城乡建设招投标网站
  • 汉中网站seo网站页面设计说明怎么写
  • 宜兴网站优化晋江论坛怎么发图
  • 网站转出婚庆公司策划书
  • 网站运营预期效果百度k了网站怎么办
  • 网站会员推广邀请系统网站设计存在的问题
  • 网站关于我们模板大学校园网络设计方案
  • 怎样自己建立一个网站工业产品设计用什么软件
  • 网站 建立目录出错网站建设运行问题及建议
  • 简答网站内容建设的时候内链重要性青岛模板自助建站
  • wordpress怎么更换网站logo公司建设网站申请报告
  • 2017做啥网站能致富网页设计基础课心得体会2000字
  • 比稿网站外国的贸易网站
  • 深圳市住房和城乡建设局网站首页2024营业执照年审官网入口
  • 网站名称没有排名网站开发学习网
  • 铭泰东莞网站建设WordPress标题删除_
  • wordpress怎么做小程序天津seo博客
  • 建设企业网站得花多少2021年企业所得税怎么征收
  • 马蜂窝网站怎么做广告学是热门还是冷门
  • 宁波最新发布关键词优化排名的步骤
  • 江门网站设计价格中国建设银行国际互联网站
  • 电子商务的门户网站传奇电脑版哪个好玩
  • 物流网站建设可行性分析网店网站建设规划方案
  • 网站建设招标文件范本的wordpress主机
  • 做云词图的网站上海网络做网站公司
  • 贵阳做网站优化网页美工工资水平
  • 网站内容的设计网站的留言功能
  • 响水做网站哪家好做公司网站可以抄别人的吗
  • 大企业网站建设方案建设ca网站