2010-12-29 3 views
0

리포지토리 패턴, 작업 단위 (Unit of Work) 등을 비롯하여 Fowler의 책과 Evans를 읽는 등 도메인 기반 개발에 대해 자세히 배우려하고 있습니다. 내 BL (도메인)에서 데이터 계층 논리 및 구조를 분리하도록 앱을 설정하고 싶습니다.리저브 패턴과 DDD가있는 Linq to SQL

LINQ를 SQL로 사용하는 경우 이는 단순히 DTE와 관련이없는 테이블 연결 클래스를 생성하는 것입니다. 왜냐하면 repo 패턴을 만들고 내 DL (LINQ to SQL)) 그리고 내 BL 로직 ... 그게 맞습니까?

답변

2

귀하의 가정은 정확합니다.

LINQ to SQL은 관계형 DB를 개체에 매핑하기 만합니다. Entity Framework는 nHibernate와 다른 많은 기능을 수행합니다. 도메인 오브젝트를 맵핑하면, DDD 라인 바로 아래에 리포지토리와 작업 단위 등을 생성 할 수 있습니다.

확인 약간 무거운 의무 DDD의 선 (善)에 대한 출력이 조치 :

microsoftnlayerapp

+0

감사합니다 ... 좋아하지만 도메인 오브젝트는 BL 클래스 권한은 무엇입니까? 비즈니스 레이어 클래스/객체에 대한 또 다른 용어 ... 도메인 객체/클래스라고합니다. 따라서 매핑을 LINQ to SQL 경로로 이동하려면 사용자 지정 코드가 필요합니다. – PositiveGuy

+0

예 - 도메인 객체 == 비즈니스 객체 - 그들은 당신이 당신의 domian을 구축 할 기본 "것들"입니다 - 직원과 주문 및 고객 등과 같은 것들 ... 당신이 Linq to SQL 경로를 가면 도메인/비즈니스 클래스는 당신을 위해 생성 될 수 있습니다 - Entity Framework에서 쉽게 확장 할 수있는 POCO 객체를 만드는 훌륭한 작업을 수행하고 IIRC Linq가 SQL을 수행한다는 것을 알고 있습니다. –

+0

DL 클래스 (DTO), BL 클래스 (워크 플로 논리) 및 프리젠 테이션 레이어가 있으므로 대기하십시오. 일반적인 용어로 도메인을 말할 때 여기에 대해 무엇을 말하고 있습니까? BL이 아닌가? 그리고 Entity 프레임 워크가 BL 객체를 자동으로 만드는 이유는 무엇입니까? 그들은 PL에서 사용하기 위해 필요한 비즈니스 도메인 및 워크 플로 로직에 매우 맞춤식입니다 ... 그래서 당신이 말한 것을 반복해서 말할 수 있습니다 ... 나는 약간 혼란 스럽다. – PositiveGuy