첫째, 누군가 속이는 소리를 지르기 전에 간단한 제목으로 요약하기가 어려웠습니다. 또 다른 제목은 "도메인 모델과 MVC 모델의 차이점은 무엇입니까?"일 수 있습니다. 또는 "모델이란?"
개념적으로 나는 모델이 뷰와 컨트롤러가 사용하는 데이터라는 것을 이해합니다. 그 외에도 모델을 구성하는 요소에 대해 많은 의견이 다른 것 같습니다. 도메인 모델, 앱 모델, 뷰 모델, 서비스 모델 등은 무엇입니까?
예를 들어, 최근에 리포지토리 패턴에 대해 물었던 질문에서 리포지토리가 모델의 일부라는 점을 들었습니다. 그러나 모델이 지속성 모델과 비즈니스 로직 레이어와 분리되어야한다는 다른 의견을 읽었습니다. 결국 Repository 패턴은 모델에서 구체적인 지속성 방법을 분리해야하지 않습니까? 다른 사람들은 도메인 모델과 MVC 모델간에 차이가 있다고 말합니다.
간단한 예를 들어 보겠습니다. MVC 기본 프로젝트에 포함 된 AccountController입니다. 포함 된 계정 코드가 디자인이 좋지 않고 SRP를 위반한다는 의견을 여러 번 읽었습니다. MVC 응용 프로그램에 대해 "적절한"멤버십 모델을 디자인한다면 어떻게 될까요?
모델에서 ASP.NET 서비스 (멤버십 공급자, 역할 공급자 등)를 어떻게 분리 하시겠습니까? 아니면 전혀할까요?
내가보기에 모델은 아마도 유효성 검사 논리를 사용하여 "순수"해야합니다.하지만 비즈니스 규칙과 분리되어야합니다 (유효성 검사 제외). 예를 들어 새 계정이 생성 될 때 누군가에게 이메일을 보내야한다는 비즈니스 규칙이 있다고 가정 해 보겠습니다. 그것은 내 관점에서 실제로 모델에 속하지 않습니다. 그래서 그것은 어디에 속합니까?
누구든지이 문제에 대해 밝힐 관심이 있습니까?