에 대한 단일/다중 데이터 저장소.설계 DAL 및 BLL - 새로운 다중 계층 응용 프로그램을 설계하는 동안, 나는 내 <strong>DAL</strong> 및 <strong>BLL</strong> 레이어 디자인에 대한 결정을 내리기 어려움에 직면하고있는 관련 테이블
마스터 테이블과 1-1 및 1-Many 관계가있는 여러 테이블에 직원 정보가 분산되어 있다고 가정합니다. 몇몇은 다음과 같습니다,
직원 (마스터 테이블)
Employee_Contact_Detail,
Employee_Education,
Employee_Skill,
Employee_Experience DAL 수준에서
을, 나는 GETALL 같은 일반적인 기능을 제공하는 일반 데이터 저장소를 각 테이블에 대해 GetSingle, Add, Edit, Delete를 선택합니다. 이제
, 내 "일반 데이터 저장소"에서 파생 된 내 "직원 데이터 저장소를"디자인이에서 GetEmployeePersonalDetail, GetEmployeeContactDetail, GetEmployeeEducation, AddEmployeePersonalDetail, EditEmployeePersonalDetail 등과 같은 하나의 클래스에 위에 나열된 모든 관련 테이블에 대한 기능을 추가해야합니다 방법은 "일반 데이터 저장소"에 대한 이점이 매우 적습니다. 다른 방법은 각 테이블에 대해 별도의 데이터 저장소를 만들고 (일반 저장소에서 파생시킨 다음) "Employee"에 대한 비즈니스 논리 계층에서 단일 클래스를 만드는 것입니다.
편집
내가 별도의 비즈니스 로직을 작성하는 경우, 내가 대신 "직원"에 대한 "하나의 비즈니스 로직 클래스"의 다음 DAL 수준에서, 옵션 "각 테이블에 대해 별도의 데이터 저장소"에 대한 이동 한 경우 각 데이터 저장소에 해당하는 클래스가 시나리오에서 볼 때 음산한 접근 방식이 될 것인가?
도움 주셔서 대단히 감사합니다.
당신이하고자하는 일에는 아무런 이상이 없습니다. 이 질문에 대한 구체적인 답변은 없습니다. 모든 대답은 의견을 기반으로합니다. 따라서 패턴보다는 요구 사항에 더 집중하십시오. 패턴이 우리 문제를 해결할 수 있습니다. 문제가 해결되면 그 패턴이 당신을위한 것입니다. –
@A_J, 의견을 주셔서 대단히 감사합니다. 나는 내 질문을 약간 연장했다. – developer