2011-05-03 47 views
1

我正在为一家公司开发一个API。他们有多个项目排队与API交互。API应该负责发送邮件吗?

该API将被发送的对象的id来禁用。如果这是成功的项目被禁用的用户应该收到一封电子邮件。

我的问题是这样的:API应该负责发送电子邮件,还是API应该返回对象被禁用以及发送电子邮件的电子邮件地址?

非常感谢,期待您的意见。

回答

1

像往常一样,我会说这要看情况。由于发送电子邮件的要求是直接在API的范围和API没有做别的了,我不明白为什么它不应该把它。不过,我会考虑一定的配置级别。

你可以提供一个函数,它只是简单地返回电子邮件地址(或使用一个标志)和一个完成整个事情的函数(这也应该是可配置的,例如设置smtp服务器,电子邮件正文文本等)。如果您要整合电子邮件功能,只需提供一个简单的功能/方法,只需对象操作便宜即可。

注:在任何情况下,我都会尝试在开始开发之前解决与公司/客户的这种要求模糊性。它可以为您节省开发工作。

0

的问题是没有这么多的API是否应该在一般情况下发送电子邮件,但您是否正在开发其禁用对象应该是负责发送电子邮件的系统。这将取决于多种因素,如:

  1. 是否合法,一个对象被禁止,但电子邮件尚未发送?在分担责任的情况下,其他系统可能无法发送电子邮件的风险?也许电子邮件地址无效或邮件服务器关闭。这种不一致会造成灾难性后果吗?如果是这样,那么电子邮件应该可能由您的对象禁用系统发送。
  2. 要么两个系统已经负责发送电子邮件等?如果是这样,也许所有的电子邮件应该在那里完成。

在一天结束时,由于不同的原因,这两种解决方案在某种程度上可能是“正确的”。唯一明显不好的设计是将你的系统调用回另一个系统,因为这会造成循环依赖。

相关问题