Должен ли API отвечать за отправку почты? - PullRequest
1 голос
/ 03 мая 2011

Я разрабатываю API для компании.У них есть несколько проектов, выстроенных в очередь для взаимодействия с API.

API будет отправлен идентификатор объекта для отключения.Если это успешно, пользователь, чей элемент был отключен, должен получить электронное письмо.

Мой вопрос таков: должен ли API отвечать за отправку электронного письма или API должен вернуть объект, который был отключен, и адрес электронной почты дляотправьте электронное письмо на адрес?

Большое спасибо, с нетерпением ждем ваших мнений.

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Как обычно, я бы сказал, что это зависит.Поскольку требование об отправке электронного письма находится непосредственно в сфере действия API, а API больше ничего не делает, я не понимаю, почему оно не должно его отправлять.Тем не менее, я бы рассмотрел некоторые уровни конфигурации.

Вы могли бы предоставить функцию, которая просто возвращает адрес электронной почты (или использовать флаг), и одну функцию, которая делает все это (также это должно быть настраиваемо, например, установить сервер SMTP, текст сообщения электронной почты и т. Д.),Если бы вы включили функцию электронной почты, предоставив простую функцию / метод, который только делает манипулирование объектом, обходится дешево.

Примечание: в любом случае я бы попытался решить эту двусмысленность требования с компанией / клиентом раньшеначинает развиваться.Это может спасти вашу работу по разработке.

0 голосов
/ 03 мая 2011

Вопрос не столько в том, должен ли API отправлять электронное письмо в общем случае, а в том, должна ли отвечать за отправку писем разрабатываемая вами система, которая отключает объект.Это будет зависеть от ряда факторов, таких как:

  1. Законно ли, что объект отключен, но электронное письмо не было отправлено?С разделением ответственности есть риск, что другая система не сможет отправить электронное письмо?Возможно, адрес электронной почты был недействительным или почтовый сервер не работает.Вызовет ли это несоответствие какой-либо катастрофический эффект?Если это так, электронная почта, вероятно, должна быть отправлена ​​вашей системой отключения объектов.
  2. Является ли какая-либо из двух систем уже ответственной за отправку других электронных писем?Если это так, возможно, вся отправка электронной почты должна выполняться там.

В конце концов, оба решения могут быть «в некоторой степени правильными» по разным причинам.Единственно очевидный плохой дизайн - перезвонить вашей системе в другую систему, поскольку это создаст круговую зависимость.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...