代码之家  ›  专栏  ›  技术社区  ›  Leonid Shevtsov

发送电子邮件更新:模型还是观察者?

  •  1
  • Leonid Shevtsov  · 技术社区  · 16 年前

    我有一个 Event 模型,它为每个用户存储一个事件提要。我还需要通过电子邮件将更新发送给在其配置文件中启用电子邮件通知的用户。

    从建筑的角度来看,哪一个更好?

    1. 打电话给邮递员 after_create 方法在 模型 ,因为它是业务逻辑的一部分;
    2. 打电话给邮递员 后创造 方法 观察者 ,因为它并不真正在模型上运行,而且还取决于用户的设置。
    3 回复  |  直到 16 年前
        1
  •  1
  •   Community Mohan Dere    9 年前

    我和一个观察员一起去。我之所以这样做,是因为发送通知电子邮件并不是事件业务逻辑的重要组成部分(简单地说,事件不发送通知)。除此之外,正如达米安已经说过的,这是一个分心的问题。

    请看讨论 here 也一样。

        2
  •  0
  •   Damien MATHIEU    16 年前

    因为这是主观的,所以没有“魔法”的答案。
    一些开发人员更喜欢在模型中直接这样做。其他人将在观察员中进行。
    你所做的完全取决于你自己。两种解决方案都有效。

    我个人更喜欢将它们添加到观察者中,因为它允许我将所有用户通知放在同一位置,而不是一个模型中的一个,另一个模型中的另一个。

        3
  •  0
  •   Kelly S. French    16 年前

    观察者的方法将更加灵活。如果您的电子邮件设置(收件人或服务器)发生更改,或者通知标准(每天到每周,反之亦然),那么更改观察者比修改模型更简单。

    推荐文章