2010-11-26 4 views
0

우리는 멀티 테넌트 웹 애플리케이션을 구성하기위한 데이터에 매핑되는 다수의 NHibernate Entities를 가지고 있습니다. 이러한 엔티티는 나머지 NHibernate 엔 태 트와 함께 Domain 프로젝트에 존재합니다.사이트 구성 데이터 리포지토리는 어디에 배치해야합니까?

건이며, 엔티티의 나머지 모두는 비즈니스 관련이 단체는구성 관련을. 웹에서 사용하는 것이 더 합리적입니까?

내가 묻는 이유는이 질문에서 설명한 문제가 발생했기 때문입니다. How to supply RequestContext data to the constructor of a domain object?, 도메인 개체의 생성자에서 제공 한 요청 컨텍스트의 데이터가 필요한 곳입니다. 문제는 도메인 프로젝트에서 웹 프로젝트를 참조하고 싶지 않다는 것입니다. 웹 프로젝트에서 직접 설정 데이터를 얻는다면 이것은 문제가되지 않습니다.

편집 : "도메인에있는 것이 더 합리적입니까?" ".. 웹에 수정?"

답변

2

개인적으로 내 프로젝트의 경우 저장소/모델/등을 기반으로하는 리포지토리, 모델 등을 별개의 어셈블리로 신속하게 분리합니다.

그래서 저장소가 RequestContext의 정보에 액세스해야하는 상황에서이 구성 데이터와 비즈니스 리포지토리/개체의 별도 어셈블리에서 별도의 리포지토리를 설정해야합니다.

내 도메인 개체 (및 의료 프로젝트에서 우리는 수십 가지가 있음)에서도 우리는 일을 망칠 수있는 주요 이음새를 신속하게 파악합니다. 즉, 모양이있는 데이터를 다루는 구성 요소는 휴대 할 필요가 없습니다 전체 도메인의 가중치이므로 config 파일에서 사용하려는 매핑 객체를 명시 적으로 설정하고 도메인 객체를 논리적 함수로 분리하여 유지합니다. 간단히 말해, 구성 엔티티를 별도의 프로젝트/어셈블리로 분리하는 것을 고려해 보지 않을 것입니다 (일반적으로 우리의 어셈블리에는 일반적인 리포지토리 인터페이스, 구체적인 리포지토리, NHibernate 매핑 및 관련 모델이 포함되어 있습니다).

+0

죄송합니다. 우연히 -1'd이므로 +1하여 보상합니다. – DaveDev

관련 문제