Шаблон наблюдателя или просто создать обработку событий? - PullRequest
2 голосов
/ 08 октября 2010

Я хочу создать макет " modules " в своем веб-приложении, чтобы я мог легко добавить больше модулей одного типа, например:

В качестве примера , мой WebApp обрабатывает подписки и почтовые кампании, и я хочу создать интерфейс , который позволит легко объединять несколько API, MailChimp, CampaignMonitor, iContact и т. Д.

создайте интерфейс IMailingService, в котором я установлю основные правила, и все модули будут реализовывать его следующим образом:

public class CampaignMonitorService : IMailingService

Пока все хорошо ...

Как насчет запустить интерфейсметод после действия в моем веб-приложении?

Должен ли я реализовать шаблон проектирования Observer , нужно ли просто создавать обработчики событий или любой другой хук?

, например, по подписке пользователя, которую я хотел бы запуститьметод AddSubscriber в interface

AddSubscriber(string email, string[] args);

, например, создание списка, отмена подписки и т. д., и т. д.

. Какой будет лучший подход кобрабатывать такой сценарий ?

1 Ответ

6 голосов
/ 08 октября 2010

Обработчики событий - это , как шаблон Observer обычно реализуется в .NET. Шаблон - первоклассный гражданин мира .NET, очень похожий на то, как встроен шаблон Iterator (с foreach и yield return).

Если вы хотите использовать шаблон без событий / обработчиков событий, вы можете использовать новые IObserver<T> и IObservable<T> (представленные в .NET 4.0).

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