나는 동일한 도메인 모델을 다룰 필요가있는 여러 개의 응용 프로그램을 가진 프로젝트에 육각형 구조를 적용하려고합니다.응용 프로그램 서비스 계층 클래스를 인스턴스화 할시기는 언제입니까?
도메인 모델 및 데이터 액세스 레이어를 처리 할 응용 프로그램 서비스를 요청하는 예를 들어 mvc 웹 사이트가 있습니다. 지금까지는 괜찮습니다.
내가 가진 질문은 응용 프로그램 서비스 클래스를 인스턴스화해야 할 때입니다. 모든 사용자 (싱글 톤)에 대해 클래스의 인스턴스를 하나만 사용해야합니까? 또는 사용자 당 하나씩 인스턴스화 한 다음 일부 사용자 데이터를 보유하고 사용자 세션에 저장해야합니까? 각 요청마다 새 클래스를 인스턴스화해야합니까?
물론 이러한 옵션 중 하나라도 가능하지만 모범 사례 조언을 받고 싶습니다.
더 무국적 인 클래스가 더 좋을 것이라고 추측하지만, 상태 비 저장 클래스는 각 메소드 호출에 대해 사용자 별 데이터를 전달해야한다는 것을 의미합니다.
답변 해 주셔서 감사합니다. 귀하가 이야기하는 "사용자 데이터 서비스"에 대한 예 또는 참고 자료를 제게 제공해 주시겠습니까? 그것은 일종의 세션 객체 일 수 있습니까? (HttpSessionState 객체가 아니라 사용자 정의 인터페이스) – Jonathan
@Jonathan 나는 내 대답에 설명을 추가하려고 시도했다. 대신 사용자 데이터 클래스를 도우미로 호출했다. –
그렇다면 일반적으로 각 요청에 따라 서비스 클래스를 인스턴스화하고 공통 인터페이스를 통해 생성자에서 사용자 데이터 도우미를 전달하는 것입니다. 이 도우미는 클라이언트 응용 프로그램에서 사용자 데이터를 검색하는 데 사용됩니까? 처음에는 인터페이스를 통해 사용자 데이터를 직접 전달하지 않는 이유가 궁금했지만 실제로는 많은 소스에서 사용자 데이터가 올 수 있다고 생각했기 때문에 필요할 때마다 앱 데이터 클래스를 호출하기 전에 모든 데이터를 수집하는 것이 좋습니다. 내가 맞습니까? 왜 사용자 데이터 서비스라는 이름을 처음 사용했는지 이해하는 것이 좋습니다. – Jonathan