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

互动创意网站网站管理系统排行榜

互动创意网站,网站管理系统排行榜,asp网站开发软件,免费行情网站app下载大全问题#xff1a;建造者模式什么时候使用#xff1f; 建造者模式在现实世界里面的使用例子是什么#xff1f;它有啥用呢#xff1f;为啥不直接用工厂模式 回答一 下面是使用这个模式的一些理由和Java的样例代码#xff0c;但是它是由设计模式的4个人讨论出来的建造者模式…问题建造者模式什么时候使用 建造者模式在现实世界里面的使用例子是什么它有啥用呢为啥不直接用工厂模式 回答一 下面是使用这个模式的一些理由和Java的样例代码但是它是由设计模式的4个人讨论出来的建造者模式实现的。这些原理你可以在Java里面使用也适用于其他编程语言 正如Joshua Bloch在第二版的Effective Java说过的那样 建造者模式是一个很好的选择当设计一个类这个类的构造方法或者静态工厂有贼多的参数的时候 我们曾经都遇到一个类就是带有一堆构造器每个都参数列表都只是加一个参数 Pizza(int size) { ... } Pizza(int size, boolean cheese) { ... } Pizza(int size, boolean cheese, boolean pepperoni) { ... } Pizza(int size, boolean cheese, boolean pepperoni, boolean bacon) { ... }这叫做重叠构造器模式。这种模式的问题就是一旦你有45个参数你就很难记住参数的顺序和这种情况下应该用哪个构造器了 一个可以代替重叠构造器模式的就是Javabean模式了你可以调用一个带强制参数的构造器任何再调用其他的setter方法。 Pizza pizza new Pizza(12); pizza.setCheese(true); pizza.setPepperoni(true); pizza.setBacon(true);这里的问题就是这个对象经过几次的调用才被创建出来在构造的过程中可能出现不一致的现象。这需要一些其他的工作去确保线程安全。 更好的选择当然是用建造者模式啦 public class Pizza {private int size;private boolean cheese;private boolean pepperoni;private boolean bacon;public static class Builder {//requiredprivate final int size;//optionalprivate boolean cheese false;private boolean pepperoni false;private boolean bacon false;public Builder(int size) {this.size size;}public Builder cheese(boolean value) {cheese value;return this;}public Builder pepperoni(boolean value) {pepperoni value;return this;}public Builder bacon(boolean value) {bacon value;return this;}public Pizza build() {return new Pizza(this);}}private Pizza(Builder builder) {size builder.size;cheese builder.cheese;pepperoni builder.pepperoni;bacon builder.bacon;} }Pizza是不变的所有参数的值也是在一个位置那是因为Builder的setter方法放回一个builder对象可以它们可以向下面那样连起来 Pizza pizza new Pizza.Builder(12).cheese(true).pepperoni(true).bacon(true).build();文章翻译自Stack Overflowhttps://stackoverflow.com/questions/328496/when-would-you-use-the-builder-pattern
http://www.zqtcl.cn/news/904729/

相关文章:

  • wordpress火车采集优化算法分类
  • 厦门做网站公司有哪些有什么好的加盟店项目
  • wap网站开发技术怎么做消费信贷网站
  • 公司网站开发外包公司深圳网站建设sz886
  • 中英文网站建设需要懂英语吗电气网站设计
  • 双语网站用什么程序做新网站如何被网站收录
  • 怎么做视频平台网站想开个小说网站怎么做
  • 网站安全监测预警平台建设成效阐述网络营销策略的内容
  • 网站上的qq如何做悬浮沧州做网站的公司
  • 电子商务网站系统规划报告移动商城 网站建设方法方式
  • 网站建设架构选型引擎seo优
  • 什么电脑做网站前段用网站建设工作人员有哪些职责
  • 网站建设技巧网站建设 总结
  • 有站点网络营销平台搜一下百度
  • 沈阳网站建设找德泰诺wordpress 访客计数器
  • 专业网站建设价格分析企业展示型网站建设方案
  • 东丽做网站公司帮做网站的公司
  • 网站的icon图标做多大验证wordpress
  • html制作音乐网站代码已经买了域名怎么做网站
  • 网站做收付款接口山东专业的制作网站
  • 龙岗建设高端网站如何建立网站会员系统吗
  • 中国建设银行的网站色彩wordpress 图片采集器
  • 渭南做网站价格江西省城乡住房建设部网站
  • 个人网站可以做充值安徽建设厅网站首页
  • 技术支持 东莞网站建设石材小企业网站建设查询
  • 政务公开网站建设的亮点和建议wordpress注册怎么设置密码
  • 外贸有哪些网站成都网络营销搜索推广优势
  • 国外mod大型网站财税公司
  • 一个很好的个人网站开发做一个简单网页多少钱
  • 东莞在哪里学网站建设网站建设团队与分工