많은 설명서에서 계층화 된 아키텍처에서 계층은 그 아래의 계층에서 제공하는 서비스 만 사용해야한다고 설명했습니다. 일반적으로 사용되는 층은 엔터프라이즈 응용 프로그램에는 다음과 같습니다계층화 된 아키텍처의 공통 서비스
- 프리젠 테이션
- 비즈니스
- 지속성이
이 (비즈니스 로직을 포함) 비즈니스 계층에서 서비스를 의미에만 액세스 서비스에 액세스해야 지속성 계층에 의해 제공됩니다.
메시지를 사용자에게 보내는 MessageService가 있습니다. 개체의 상태가 크게 변경 될 때마다 관련된 모든 사용자에게 변경 사항에 대한 알림을 보내야합니다. 즉, 변경을 식별 한 비즈니스 계층의 서비스는 MessageService를 사용하여 메시지를 보내야합니다. 그러나 messageService 자체는 비즈니스 계층에 있으므로, 동일한 계층의 다른 서비스는 액세스하지 않아야합니다.
그래서 코드 아키텍처를 위반하지 않고 MessageService를 어떻게 사용할 수 있습니까?
Amit, '모든 관련 사용자'는 무엇을 의미합니까? –
개체 상태의 변경에 관심이있는 모든 사용자를 의미합니다. 예를 들어, 그룹에 새로운 사용자가 추가되어 모든 그룹 구성원에게 MessageService를 사용하여이 사실을 통보해야합니다. –
나중에 프레젠테이션을 통해 변경된 개체가 있습니까? 그렇다면 비즈니스 계층에서 변경 내용을 프레젠테이션 계층에 전달한 다음 지속성 작업이 완료 될 때 메시징 서비스를 호출하지 않는 것이 좋습니다. –