2017-05-02 10 views
1

나는 웹 양식 응용 프로그램에서 토끼 mq 메시지를 밀어 넣으려면 this article을 읽습니다.웹 양식의 Rabbitmq : 웹 양식 csharp 파일 자체에서 메시지를 푸시하는 것이 맞습니까, 아니면 비즈니스 로직입니까?

웹 양식 aspx cs 클래스에서 객체를 직접 푸시하는 것이 맞습니까? 즉, button_click 이벤트에서 producer.SendMessage (...)를 호출하거나 비즈니스 로직의 일부 여야합니까?

이 코드를 호출해야하는 계층은 무엇입니까? 이것을 결정하는 방법?

+0

예외가 발생합니까? 아니? 그럼 맞습니다. 그 이상의 것들은 단지 의견을 기반으로하고 StackOverflow의 범위를 넘어서는 권장되는 패턴입니다. – Gusman

답변

2

다층 디자인을 수행하는 경우 올바른 길을 가고 있습니다. 구현 (예 : RabbitMQ 또는 데이터베이스 또는 다른 서버에 대한 호출)을 사용자 인터페이스 코드와 완전히 별도로 유지하십시오. 그렇지 않은 경우 (예 : MSMQ 또는 다른 대기열 제품으로 전환하는 등) 변경해야하는 경우 나중에 변경하는 것이 훨씬 더 어려워집니다.

+0

그래서 producer.SendMessage (...)에 대한 호출을 제안하여 종속성 삽입으로 비즈니스 계층으로 이동 했습니까? – maverick

+0

가능한 한 최선을 다하십시오. RabbitMQ가 귀하의 요구를 현명하게 또는 수천 가지 다른 이유로 적합하지 않을 수도 있습니다. 최상의 접근 방식에서 클라이언트 코드는 큐에 액세스하는 데 사용하는 라이브러리에 직접적으로 종속되지 않아야합니다. –