gelat2012 2023-02-14 16:32 采纳率: 66.7%
浏览 33
已结题

观察者模式的使用场景

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

4条回答 默认 最新

  • 於黾 2023-02-14 16:46
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月23日
  • 已采纳回答 2月15日
  • 创建了问题 2月14日

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)