저는 EF 코드를 먼저 배우고 있으며, 제 신청서에 어떤 패턴을 사용할지 조금 고심하고 있습니다. 다른 많은 사람들이 그렇게하고 있다고 말하는 동안 당신이 저장소 패턴을 사용해야한다고 말하는 몇몇 상반된 sugestions 및 arugments를 읽었습니다. 나는 동의하는 경향이 있습니다.EF 4.1 코드 우선 - 어떤 패턴을 사용해야합니까?
여기 내 delima입니다 :
나는 내가 고객을 관리 할 수 있도록하기 위하여려고하는 REST 웹 서비스를 구축하고 가정하자. 이 서비스를 통해 고객을 추가하고, 사용자 정의를 삭제하고, 고객을 편집하고, 고객을 찾을 수 있습니다.
내가해야
A.) 내 질문 내 비즈니스 로직 가야 곳으로 내려 온다. Add, Edit, Delete 및 Find 메소드를 제공하는 CustomerManager 클래스가 Customer 엔터티에 있어야합니까? 내 검증 로직이 그러한 메소드에 있어야합니까?
B.) 고객 엔터티가 Customer 클래스 내부에서 모든 유효성 검사 로그인을 수행하면서 Save(), Delete() 및 Find() 메서드를 가질 때 Active Record 스타일을 사용해야합니까?
C.) 간단한 검증 로직이 엔티티 자체에있는 일부 유형의 하이브리드를 수행해야합니까? 이것은 코드가 먼저 속성을 부여함으로써 수행 될 수 있습니다. 엔티티에 간단한 저장 메소드를 사용할 수도 있습니다. 그런 다음 복잡한 비즈니스 유효성 검사 논리를 수행하고 CustomerManager 클래스에서 delete(), finds() 및 multi-entity 저장을 수행 할 수 있습니까?
저는 옵션 C에 의지했습니다. 과거에는 일반적으로 내 엔티티를 매우 단순하게 유지하는 관리자/서비스 클래스를 사용했습니다. 그러나, 코드가 엔티티 레벨에서 엔티티 속성 검증을 먼저 수행하기 때문에, 간단한 엔티티 검증이 거기에 가야 할 것처럼 보입니다.
저는 이것이 다소 종교적인 주제가 될 수 있음을 알고 있습니다. 그러나 저는 견고한 응용 프로그램을 만드는 가장 좋은 방법이 무엇인지에 대한 다른 옵션을 원합니다.
당신이 궁극적으로 어떤 선택이 끝난 있나요? 당신의 결정에 행복 했습니까? 자, 같은 결정에 직면하여 Active Record 패턴을 선택하려고합니다. – Lorlin