我正在使用队列研究laravel项目。我的“ checkAgeAndNotify” API将检查年龄是否大于50,然后将使用队列将电子邮件通知发送给该用户。
class Age extends Controller
{
public function checkAgeAndNotify(Request $request)
{
if(Input::get('age') > 50){
$job = (new notification());
dispatch($job);
}
}
}
以下是我的工作类别:
class notification implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public construct(){}
public function handle()
{
Mail::send('welcome', $data, function ($message) use ($data) {
$message->from('[email protected]', 'unknown-sender');
$message->to('[email protected]')->subject('Test Email');
});
}
}
我的代码可以100%完美地工作。但是我不确定如何根据情况使用任何设计模式来转换代码。
如果无法在此小代码中应用模式。因此,我们可以假设我们有多个渠道可以通过短信等发送通知,例如电子邮件。
您的教授一定希望您实现观察者模式,因为观察者(用户)会收到通知。