2011-09-12 3 views
0

각 모듈은 강력한 인터페이스를 사용하여 다른 모듈을 통해서만 통신하는 모듈 형 응용 프로그램을 만들었습니다. 최근에 우리는 각 모듈이 액세스하는 아래에 공유 된 객체 집합이 있기 때문에 모듈을 완전히 분리하지 못한 것을 발견했습니다.모듈 응용 프로그램을위한 데이터 처리

이 레이어를 분리하는 가장 좋은 방법은 무엇입니까? 데이터 객체는 새 레코드에 대해 화면에 표시되는 것을 나타냅니다.

+0

그냥 확인 - 인터페이스 정의 내에 존재하는 이러한 공유 객체 객체입니까? 아니면 두 개의 다른 경로/모듈을 통해 액세스되는 데이터에 대해 이야기하고 있습니까? –

답변

1

나는 당신과 같은 보트에있는 것처럼 보입니다. 당신은 ORM (예를 들어 EF)과 어떤 종류의 비즈니스 오브젝트 프레임 워크 (RIA Services, DevForce)를 가지고 있다면 각 엔드 (클라이언트/서버)에 1 개의 어셈블리가있는 것을 "잠근다"보다

원한다면 앞으로이 문제를 해결하면 더 많은 문제를 일으킬 것이라고 생각합니다. 서로 다른 모듈의 엔티티에 참여하는 데 문제가 있습니다. 서로 다른 데이터 모듈에서 엔티티를 반복 할 것입니다. 이미 ORM 계층을 세분화 한 경우 클라이언트에서 동일하게 유지하십시오.

나는 단지 하나의 데이터 프로젝트 (프리즘에는 모듈이 아니다)를 만들고 모든 모듈에서 그것을 참조 할 것이다. 제 경우에는 메인 프로젝트에서 참조하고 "CopyLocal = true"로 설정하면 MEF는 해당 엔티티에 대해 알고 다른 모듈에서 참조하고 "CopyLocal = false"로 설정합니다.

1

일반적으로 모든 공유 클래스가 포함 된 응용 프로그램 (myproject. 인프라)에 대한 도메인 어셈블리를 만듭니다. 이 어셈블리는 모든 프로젝트에서 참조합니다. 이 방법으로 모듈은 서로를 직접 참조하지 않습니다. (프리즘 스톡 트레이더 참조 구현을 참조하십시오)