2011-02-07 6 views
0

В сценарии, где я использую единицу работы в каждом методе класса обслуживания для выполнения операций и логики приложения. Это хорошая идея для реализации фасадного обслуживания между контроллерами и службами? Идея заключалась в том, чтобы иметь возможность использовать множество сервисов в одной транзакции, не используя более одной единицы работы.Это хорошая идея для реализации фасадного обслуживания между контроллерами и службами?

Спасибо.

ответ

1

Я думаю, что его хорошая идея, если

1) услуги, вы все из контроллеров сами вызывать другие услуги, и это становится быть неуправляемым.
2) вы боретесь с ситуацией, когда вам нужно вызвать две услуги на высоком уровне, но возникают проблемы, делая его работу дизайн-накрест

Как kohlehydrat упоминает, что они очень полезны с СОА, но я не согласен в что «Фасад» представляет собой шаблон дизайна - он не является эксклюзивным для любого стиля приложения. Если вы используете фасад, вы получаете один, хорошо организованный сервис высокого уровня для вашего приложения (если вы это сделаете правильно).

+0

Единица работы должна использоваться только один раз для каждого запроса, плюс я предпочитаю подход SOA к любому другому подходу, потому что я в конечном итоге становлюсь более гибким. Мне нужно иметь возможность вызывать одну или несколько служб на моем уровне сервера и повторно использовать методы обслуживания в той же транзакции. Так что, полагаю, из того, что ты сказал, что мне действительно нужно право? – Rushino

+0

вы не * необходимо * один. Его просто шаблон, который представляет собой унифицированный интерфейс для приложения. Я думаю, что это проще. Я не знаю, как работает ваша инфраструктура, но в мире Java вы можете настроить границы транзакций на своих сервисах. Таким образом, если serviceA имеет транзакцию вокруг метода и вызывает другие службы, одна и та же транзакция используется повсюду. – hvgotcodes

+0

Хорошо, я думаю, ваше право на самом деле. Если я когда-либо повторно использую метод внутри моего уровня обслуживания, я просто должен заставить его не использовать uow и сделать его приватным. Btw i использовал asp.net mvc 3. Мой uow определяется с помощью инструкции using. – Rushino

0

Нет, шаблон фасада имеет смысл только в контексте SOA. Вы должны попробовать более ориентированный на обслуживание подход в соответствии с вашими потребностями.

+0

Я не думаю, что я имею в виду шаблон фасада, поскольку hvgotcoddes сказал, что я не думаю, что это можно назвать шаблоном. – Rushino

 Смежные вопросы

  • Нет связанных вопросов^_^