Каков наилучший способ обработки нескольких действий? - PullRequest
5 голосов
/ 01 июня 2010

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

Должны ли события использоваться для этого или есть лучший способ? Я использую C # и ASP.net MVC.

Обновление
Это уже находится в классе Service Layer. например.

  public void Login(User user)
        {
            SetAuthCookie(user);
            LogLogin(user, true);
            SendEmails();
        }

Ответы [ 3 ]

2 голосов
/ 01 июня 2010

Извлечение логики приложения в отдельные классы. С вашим приложением будет легче работать, если вы будете держать контроллеры как можно более тонкими.

Шаблон Post, Redirect, Get эффективен для MVC. Хороший пост об этом из моей коллекции закладок: http://www.eworldui.net/blog/post/2008/05/ASPNET-MVC---Using-Post2c-Redirect2c-Get-Pattern.aspx

Я бы также рекомендовал изучить Фильтры действий. Роберт Конери хорошо знакомит с использованием фильтров действий в своем блоге по адресу http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/. Эта публикация связана с аутентификацией, но ее можно экстраполировать на любой тип функциональности, который вы хотите реализовать.

0 голосов
/ 02 июня 2010

Я на самом деле предпочитаю ваш текущий подход. Тем не менее, я видел примеры с событиями, но мне кажется, что это больше усилий, чем стоит, если у вас нет «очень» сложного приложения.

Я думаю, что вы имеете в виду События домена . Кроме того, посмотрите на это сообщение в блоге Джимми Богарда, основанное на первой ссылке. И, наконец, из SO - Как избежать моделей анемичных доменов или когда перемещать методы из сущностей в службы

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

0 голосов
/ 01 июня 2010

Аспекты могут быть хорошим способом сделать это. Если это сквозные проблемы, АОП - верный путь.

...