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

公司网站免费申请一个域名可以绑定两个网站吗

公司网站免费申请,一个域名可以绑定两个网站吗,外贸怎么做站外推广,移动做网站吗这个想法是几周前在设计“ Generator”类时想到的#xff0c;该类必须将输入发送给封装的Writer 。 实际上#xff0c;它是Builder模式。 但是#xff0c;规则有些复杂#xff0c;用户必须以某种方式调用add...()方法#xff0c;才能正确生成输出。 不用说#xff0c;我… 这个想法是几周前在设计“ Generator”类时想到的该类必须将输入发送给封装的Writer 。 实际上它是Builder模式。 但是规则有些复杂用户必须以某种方式调用add...()方法才能正确生成输出。 不用说我不喜欢让一个BuilderImpl类在内部设置和验证各种标志以便知道什么时候被允许的选择。 解决方案是构建一个有限状态机 因为构建者的界面很流畅。 像往常一样在这篇文章中我将通过一个例子来说明。 汤姆和杰瑞TomJerry–《老鼠麻烦》威廉·汉纳William Hanna和约瑟夫·巴贝拉Joseph Barbera 假设我们要实现一个DateBuilder 它将以经典的dd.mm.yyyy格式可能还带有其他类型的分隔符不仅. 生成一个String 。 为了简单起见我们将只关注格式而忽略诸如一个月中的天数leap年之类的情况。首先是界面 public interface DateBuilder {DateBuilder addDay(final Integer day);DateBuilder addMonth(final Integer month);DateBuilder addYear(final Integer year);DateBuilder addSeparator(final String sep);String build();} 上面的接口将有五个实现 StringDateBuilder 公共入口点 ExpectSeparator ExpectMonth ExpectYear和ExpectBuild 这四个包均受程序包保护对用户不可见。 StringDataBuilder看起来像这样 public final class StringDateBuilder implements DateBuilder {private final StringBuilder date new StringBuilder();Overridepublic DateBuilder addDay(final Integer day) {this.date.append(String.valueOf(day));return new ExpectSeparator(this.date);}Overridepublic DateBuilder addMonth(final Integer month) {throw new UnsupportedOperationException(A day is expected first! Use #addDay!);}Overridepublic DateBuilder addYear(final Integer year) {throw new UnsupportedOperationException(A day is expected first! Use #addDay!); }Overridepublic DateBuilder addSeparator(final String sep) {throw new UnsupportedOperationException(A day is expected first! Use #addDay!);}Overridepublic String build() {throw new UnsupportedOperationException(Nothing to build yet! Use #addDay!);}} 我相信您已经明白了其他四个实现将处理它们自己的情况。 例如 ExpectSeparator将从addSeparator(...)之外的所有方法中引发异常在该方法中它将分隔符附加到StringBuilder并返回ExpectMonth的实例。 最后这台机器的最后一个节点将是ExpectBuild 在添加年份之后由ExpectYear返回它将抛出build()之外所有方法的异常。 这种设计帮助我将代码对象保持较小没有标志和if/else分支。 与往常一样上面的每个类都易于测试并且通过切换返回的实现可以轻松更改构建器的行为。 当然我不是唯一想到这些的人先生。 尼古拉斯·弗兰克NicolasFränkel就在上个月在这里写下了这个想法。 但是我觉得有必要带走我的两分钱因为我不完全喜欢他的例子他为构建器的节点使用了不同的接口以保持构建器的安全性和防白痴性例如甚至不允许用户查看addMonth或build方法如果他们不应该使用的话。 我不同意这一点因为这意味着我需要管理更多的代码此外客户端将与构建者的逻辑相结合。 我宁愿只强制用户到学习如何使用生成器它不应该是他们的一个大的努力因为他们应该搭上一个最简单的单元测试任何异常对不对 吧... 我也找到了这篇文章 它提供了更广泛更理论上的解释并不一定与Builder模式相关联-如果您考虑一下这种方法可以用于任何必须根据其内部状态更改其行为的对象。 翻译自: https://www.javacodegeeks.com/2018/12/builder-fail-fast-state-machine.html
http://www.zqtcl.cn/news/136520/

相关文章:

  • 网站开发难不难学做网站会提供源代码吗
  • 一个学校怎么制作网站阿里云服务器登录
  • 网站建设哪家合适对网站建设服务公司的看法
  • 网站留住访客柳州正规网站建设加盟
  • 网站照片要求现在百度怎么优化排名
  • 国外经典平面设计网站60平米一居室装修价格
  • 网站建设选择题个人游戏网站备案
  • 深圳企业网站制作公司wordpress 自定义插件开发
  • 网站代付系统怎么做iis不能新建网站
  • 廉政网站建设做环保的网站有哪些
  • 做彩票网站违法网站邮箱后台子域名
  • 响应式中文网站模板wordpress 模特模板
  • 专业做影楼招聘网站有哪些中铁建设集团登陆
  • 室内设计工作室网站怎么做前端开发面试会被问到的一些问题
  • 六安网站建设网络服务30分钟seo网站
  • 网站开发难点谁会制作网站
  • 北京通州网站制作公司设计网站中企动力优
  • 网站地图生成器横琴人寿保险公司官网
  • 免费建站网站一级大录像不卡专业团队建设方案
  • 创建网站的目的是什么想自己建个网站
  • 网站开发公司有什么福利龙岩几个县
  • 网站镜像做排名成都网站开发
  • 江西建设推广网站苏州 网站的公司
  • 中山民众网站建设有一个网站专门做民宿
  • 快速建站完整版兰州兼职做网站
  • 西安网站群搭建php网站开发设计
  • 网站首页没收录php做的网站源代码
  • 网站搭建技术要求企业网站推广的一般策略
  • 网站建设流程行业现状安阳历史
  • 制作软件的网站装饰工程设计东莞网站建设