문제

나는 독특한 규칙과 약간의 이상한 점이있는 새로운 MVC 프로젝트를 시작하고 있습니다. 특히, 모든 데이터가 포함 된 데이터베이스에 액세스 할 수 있지만 외부 웹 서비스를 통해 전적으로 처리해야합니다. 이유를 묻지 마세요. 이유를 이해하지 못합니다. 그게 바로 그게 어떻게됩니다.

따라서 CRUD는이 API를 통해 처리됩니다. 나는 모든 통화를 마무리하는 서비스 계층을 만들 계획이지만 모델 기반 도메인 개체 (고객, 주문 등)를 만들기 위해 모델 주위에 머리를 감싸는 데 어려움이 있습니다. 내가해야합니까:

  1. 모두 수동으로 만듭니다
  2. 더미 데이터베이스를 만들고 orm을 가리 킵니다.
  3. 기존 데이터베이스를 가리키지 만 API 대신 ORM의 지속성을 무시하십시오.

나는 이것을 구축하는 데 필요한 모든 정보를 가지고 있다고 생각하지만 API에 따라 잡고 있습니다. 모든 포인터 나 조언은 대단히 감사 할 것입니다.

도움이 되었습니까?

해결책

데이터베이스 모델이 외부 서비스에 의해 노출 된 것과 동일하다고 가정하므로 옵션 3의 규모에 따라 옵션 3은 위험합니다. 옵션 1과 2는 서로 크게 다르지 않습니다. 어느 경우 에나든 당신의 대상, 속성 및 행동이 무엇인지 결정해야합니다. 또는 데이터베이스 테이블.

핵심은 외부 서비스 호출이 일종의 래퍼 뒤에 숨겨져 있는지 확인하는 것입니다. 개인적으로 외부 서비스 래퍼 및 리턴 도메인 객체를 쿼리하는 것을 처리하기 위해 그 위에 저장소를 넣었습니다.

다른 팁

일반적으로 ORM은 깨끗한 도메인 모델 클래스를 생성하는 능력으로 알려져 있지 않습니다. ORM은 데이터 계층을 만드는 것으로 알려져 있으며,이 경우에는 필요하지 않은 것으로 보입니다.

T4와 같은 코드 생성 도구를 사용하여 코드는 웹 서비스 또는 데이터베이스를 기반으로 도메인 모델 클래스에서 첫 번째 패스를 생성 할 수 있습니다. 그렇지 않으면 아마도 도메인 객체를 수동으로 만들 것입니다. 코드가 도메인 개체에서 첫 번째 패스를 생성하더라도 데이터베이스 또는 웹 서비스에서 도메인 개체에 대한 청정 1-1 매핑이 없으므로 코드 생성 도메인을 수동으로 수동으로 편집하는 데 상당한 시간을 소비해야 할 것입니다. 어쨌든 수업.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top