观察者模式的使用场景

我在书上看到观察者模式常见的使用场景包括:消息通知、邮件通知等。
在实际工作中,有一个场景:在新用户审核通过时,需要同时发送邮件和短信通知用户。
我觉得这是符合观察者模式的使用场景的。
但是,原来在审核通过的方法中加入“发送邮件”、“发送短信”的逻辑就能完成的工作,使用观察者模式需要额外做很多工作,是不是有点多此一举?
在什么情况下使用观察者模式更好呢?

原来在审核通过的方法中加入“发送邮件”、“发送短信”的逻辑就能完成的工作
-=-=-=-=
你也知道要在审核通过的方法中加内容
这就是强耦合了
那如果以后多了微信通知呢,如果发短信太贵,想从短信猫改成短信平台呢,或者干脆取消发短信功能呢,你是不是没事老要改审核通过的方法
而发什么信息本来和审核通过没有半毛钱关系,你却要不停的改审核通过的方法
此外,如果其它还有一堆事情,本来都是要发短信的,现在要统一改成发微信呢
有100个地方要发微信你是不是就要改100遍,少改一个地方就是一个bug

新用户审核通知,不太适合观察者模式,因为你通知的对象只有一个
观察者模式适合通知很多个目标,且目标数量可随意改变。

公路上的监控,观察多种行驶者,符合违法行为或不符合守则行为的予以记录保存

观察者模式适合一对多的通知场景。
针对你这个场景 :新用户审核通过时,需要同时发送邮件和短信通知用户。
需要考虑后续的扩展性, 如果用户审核通过后, 以后可能会有许多动作,可以尝试使用组合模式,方便扩展:
把审核后的动作执行者定义为一个整体, 各个动作分别定义为执行者部分, 这样审核后就可以串联执行各个动作。