2010-12-07 3 views
1

EF4 코드 - 퍼스트가 DDD 사람들에게 정말로 매력적이라는 엔터티 프레임 워크 suggests의 여왕. 이 성명서는 다른 많은 장소에서도 작성되었습니다.EF4와 Code-First : DDD 사람들은 왜 그것을 좋아합니까?

제 질문은 : 왜 코드 - 퍼스트는 모델 - 퍼스트보다 매력적입니까? 후자가 DDD가 작동하는 방식에 더 가깝다고 생각했을까요?

답변

2

Model-First는 데이터베이스 모델을 나타냅니다. Code-First는 코드에서 도메인 모델을 참조합니다. DDD는 데이터베이스 모델이 DDD의 코드 모델에 항상 뒤지지 않는 지속성 문제이므로 코드 우선을 선호합니다.

+0

그러나 모델 디자이너에서 생성 한 엔티티가 데이터베이스의 테이블과 직접 일치하는 경우는 거의 없습니다. 즉, DDD 사람들이 클래스 다이어그램을 만들 때 모델 다이어그램을 사용하는 것과 동일한 활동이 아닌가? – anon

+1

엔티티가 "거의 항상"데이터베이스 테이블에 직접적으로 대응한다는 것은 중요하지 않습니다. 요점은 그들이 할 필요가 없다는 것입니다. DDD의 철학은 Bounded Context, Aggregate Roots 등을 정의하는 데 초점을 맞추는 것입니다. 이들은 모두 코드에 존재하는 개념입니다. 일련의 데이터베이스 테이블로 시작하는 것은 우리가 클래스를 설계하는 방법에 영향을 미치는 경향이 있고, 부정적으로 그렇습니다. 아이디어는 프로그래밍 방식으로 작업하려는 것을 디자인하는 것입니다. 도메인을 적절하게 캡슐화 한 다음 다른 비 기능 요구 사항을 충족시키기 위해 지속성에 필요한 작업을 수행하는 것입니다. –

+0

"데이터베이스 테이블 세트로 시작하면 우리가 클래스를 설계하는 방법에 영향을 미치고 부정적인 영향을 미치는 경향이 있습니다." 좋은 점은이 질문 자체가 그 자체 일 수 있습니다. 어쩌면 내가 시작할거야! 모델 디자이너의 기능이 실제로 무엇인지에 대해 나는 오해가 있었다고 생각합니다. 고맙습니다! – anon

관련 문제