2014-08-28 2 views
0

ServiceStack Visual Studio 추가 기능 ("ServiceStack ASP.NET Empty") 템플릿으로 새 서비스를 만들었습니다.ServiceStack Visual Studio 템플릿 및 저장소 패턴

이렇게하면 4 개의 프로젝트, ServiceModel, ServiceInterface, ServiceHost 및 테스트 프로젝트가 생성됩니다. 인터페이스 (Dependency Injection을 생각하십시오)를 통해 REPOSITORY 패턴으로 데이터 액세스를 캡슐화하고 다른 프로젝트를 솔루션에 추가 할 수없는 경우이 프로젝트를이 프로젝트에 포함시켜야하며 그 이유는 무엇입니까? repo 코드를 절대적으로 다른 프로젝트로 이동해야한다면 프로젝트 의존성 즉 ServiceModel, ServiceInterface가 무엇일까?

는 스티븐에게,

답변

1

ServiceHost를하고, 테스트 프로젝트를 주셔서 감사합니다. 인터페이스를 통해 내 데이터 액세스를 REPOSITORY 패턴으로 캡슐화하려는 경우

실제 프로젝트 레이아웃에 대한 자세한 내용은 Physical project structure wiki을 참조하십시오.

ServiceStackVS's VS.NET templates은 서비스 구현 및 사용자 지정 논리를 유지하는 데 ServiceInterface 만 사용되는 실제 프로젝트 구조를 따릅니다. 다른 모든 시작 프로젝트는 다른 목적을 가지고 있습니다.

  • 최상위 Host 프로젝트는 모든 콘크리트 종속성을 등록하고, 그렇지 않으면 가벼운 무게와 논리없이 유지되어야 함을 서로 연결하는 접착제이다.
  • ServiceModel 프로젝트는 서비스 계약 DTO를 유지 관리하기위한 dep/impl-free 프로젝트로, 클라이언트 구현에서 재사용 할 수 있도록 서버 구현이 유지되어야합니다.

인터페이스와 구현 모두 동일한 프로젝트에 포함될 수 있습니다. 이 레이아웃을 따르는 ServiceStack 데모 중 일부는 RedisStackOverflowIRepository 클래스이고 IEmailer 클래스는 EmailContacts 클래스입니다.