Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 这个消息传递类有好的设计模式吗?_Php_Oop_Class_Design Patterns - Fatal编程技术网

Php 这个消息传递类有好的设计模式吗?

Php 这个消息传递类有好的设计模式吗?,php,oop,class,design-patterns,Php,Oop,Class,Design Patterns,这有好的设计模式吗 我想创建一个消息传递类 课程将通过: 消息类型(例如注册、注册确认、密码提醒等) 客户的id 然后,该类需要在db中查找客户机的消息传递首选项(无论他们是否希望通过电子邮件、sms或两者进行通信) 然后,根据客户的偏好,它将格式化消息的媒体(短信短版本,电子邮件长格式),并通过我们的邮件或短信提供商的API发送 因为我们希望能够在需要时更换电子邮件和sms提供商,我想知道命令模式是否是一个好的选择 谢谢您的反馈。我不确定您是否需要此模式。这听起来更像是简单的继承,带有用于

这有好的设计模式吗

我想创建一个消息传递类

课程将通过:

  • 消息类型(例如注册、注册确认、密码提醒等)
  • 客户的id
然后,该类需要在db中查找客户机的消息传递首选项(无论他们是否希望通过电子邮件、sms或两者进行通信)

然后,根据客户的偏好,它将格式化消息的媒体(短信短版本,电子邮件长格式),并通过我们的邮件或短信提供商的API发送

因为我们希望能够在需要时更换电子邮件和sms提供商,我想知道命令模式是否是一个好的选择


谢谢您的反馈。

我不确定您是否需要此模式。这听起来更像是简单的继承,带有用于实际消息发送的抽象方法

考虑更好地划分任务。也许让用户ID负责查找首选项,或者只是为其编写第三个类


如果您想使用设计模式,那么构建器可能会应用于构建实际的消息。这取决于您是否需要为不同的邮件传递方法设置不同的格式。

这可能更适合表示感谢,我将把它移到那边。有没有办法把它从这里移走?把它关上。不过,把它打开也没什么坏处,因为有人可能会选择在这里回答。只是这类问题有些开放性,所以问题应该是针对具体问题的。程序员网站更倾向于“讨论式”问题……看看策略模式。