这个班级是建设者吗?

WebPajooh

感谢这堂课:

https://github.com/WebPajooh/TeleBot/blob/master/src/InlineKeyboard.php

我可以逐步构建键盘:

$keyboard = new InlineKeyboard()
    ->addCallbackButton('Start', 'start_callback')
    ->addCallbackButton('Help', 'help_callback')
    ->addUrlButton('FAQ', 'https://example.com/faq')
    ->get();

方法的输出get()是一个由 编码的对象json_encode()

我的问题是:

  1. 我们可以认为这个类是建设者吗?
  2. 如果答案是否定的,为什么?
  3. 它的输出不是一个对象,而是一个字符串;这是否意味着它没有实现构建器模式?
升压

正如维基所说:

构建器模式是一种设计模式,旨在为面向对象编程中的各种对象创建问题提供灵活的解决方案

当您的代码InlineKeyboard使用诸如urlButton等之类的按钮创建时,它看起来像是 Builder 模式。

此外,Fluent 接口模式可以在这里看到,因为有可链接的方法,例如:

->addCallbackButton('Start', 'start_callback')
->addCallbackButton('Help', 'help_callback')
->addUrlButton('FAQ', 'https://example.com/faq')
->get()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章