Visual Studio 솔루션의 폴더 또는 프로젝트?

솔루션을 논리적 계층으로 분할할 때 폴더별로 그룹화하는 것보다 별도의 프로젝트를 사용하는 것이 가장 좋은 경우는 언제인가요?

해결책

기본적으로 항상 같은 프로젝트 내에 새 폴더를 만듭니다.

  • 단일 어셈블리를 얻게 됩니다(추가 ILMerge 체조 없이).
  • 난독화하기 쉬움(공개 유형과 메서드가 적기 때문에, 이상적으로는 전혀 없음)

소스 코드를 여러 프로젝트로 분리하는 것은 다음과 같은 경우에만 의미가 있습니다.

  • 프로젝트의 일부이지만 기본적으로 또는 전혀 배포할 수 없는 소스 코드의 일부가 있는 경우(단위 테스트, 추가 플러그인 등)
  • 더 많은 개발자가 참여하고 있고 그들의 작업을 소모품인 블랙박스로 취급하고 싶은 경우. (별로 권장하지 않음)
  • 프로젝트를 격리된 레이어/모듈로 명확하게 분리할 수 있고 이들이 내부 멤버를 교차 소비하지 못하도록 하고 싶은 경우. (어떤 측면이 가장 중요한지 결정해야 하므로 이 또한 권장하지 않음)

소스 코드의 일부가 재사용될 수 있다고 생각되더라도 새 프로젝트로 만들지 마세요. 다른 솔루션에서 재사용하고 싶을 때까지 기다렸다가 필요에 따라 원래 프로젝트에서 분리하세요. 프로그래밍은 레고가 아니므로 재사용은 일반적으로 매우 어렵고 계획대로 되지 않는 경우가 많습니다.

해설 (2)

주로 분리하는 기능을 설치하고 프로젝트를 야니 아키텍처입니다 최적화합니다. 당신은 그 얼마나 자주 다시 별도 사업을 상행담관염이라고? # 39 의 경우 자주 발생, you& it& 아닌 고객의 개발 및 유지 보수, 제작, 배포, # 39, re 복잡한 이론적 재사용합니다.

난 별로 구분하는 별도의 폴더에 포지셔닝하십시오 프로젝트를 통해 적절한 네임스페이스을) 및 리팩토링, ve got a # 39 you& 때 실제 재사용합니다 览侩 荤례.

해설 (1)

데니가 썼습니다: 개인적으로 재사용 가능한 코드가 프로젝트에 분할되어 있으면 폴더에 있는 것보다 다른 곳에서 사용하기가 더 간단하다고 생각합니다.

재사용할 수 있다면 별도의 프로젝트에 넣어야 한다는 의견에 전적으로 동의합니다. 그렇지만 효과적으로 재사용하는 것도 매우 어렵습니다 :)

SO에서는 세 개의 프로젝트로 매우 단순하게 만들려고 노력했습니다:

  • MVC 웹 프로젝트(기본적으로 레이어를 폴더로 분리하는 작업을 잘 수행함)
  • DB의 소스 제어를 위한 데이터베이스 프로젝트
  • MVC 모델/컨트롤러에 대한 단위 테스트

모든 사람을 대변할 수는 없지만, 빌드 속도가 정말 빨라진다는 점이 매우 만족스럽다!

해설 (0)

저는 보통 GUI용 프로젝트, 비즈니스 로직용 프로젝트, 데이터 액세스용 프로젝트, 단위 테스트용 프로젝트를 수행합니다.

그러나 때로는 인증, 판매 등과 같은 서비스(서비스 지향 아키텍처를 사용하는 경우)를 기반으로 분리하는 것이 현명할 수 있습니다.

제 경험에 비추어 볼 때, 우려 사항이 명확하게 분리된 구성 요소로 볼 수 있다면 다른 프로젝트를 사용하는 것이 현명할 수 있다고 생각합니다. 하지만 폴더와 프로젝트를 구분하는 것은 단지 선호도나 철학일 수 있다고 생각합니다.

개인적으로 재사용 가능한 코드가 프로젝트에 나뉘어 있으면 폴더에 있는 것보다 다른 곳에서 사용하기가 더 간단하다고 생각합니다.

해설 (0)

&gt. 소스 코드 분할 구분하는 &gt. 만약 여러 프로젝트를 통해 전용 감지에서 &gt. 수 있습니다.

. 관련된 더 많은 개발자들이 &gt. 치료를 위해 그들의 일을 하려면 &gt. 소모품입니다 블랙박스. (별로 없는 &gt. 권장됨).

39, t 이 권장됨 isn& 왜? # 39 i& 여러 개의 응용 프로그램을 관리할 수 있는 방법을 찾을 수 있는데, 이는 서로 다른 구간들을 devs 매우 유용합니다. 체크 인 훨씬 쉬운 거의 없기 때문에 주로 병합합니다. 거의 같은 프로젝트에서 동시에 두 개의 devs 일해야 했다.

해설 (1)

여러 사람이 검색하기를 경우 프로젝트, smartupdate 자도으로 코드를 만들기 위한 의도도 있는 모든 걸 알고 그들을 솔루션은 완벽하게 이해할 수 있도록 사업 간의 종속도를 이용할 수 있습니다. 한 때 누군가 엉망하지 아웃해야 판매업체에서 경우 정렬하려면 떠나 및 추가되든지 참조입니다 shouldn& # 39, t got away 이를 통해 그동안 있는지, 몇 주 동안 이 점을 이해할 수 있습니다.

해설 (0)

하지만 이 모든 것이 아니라 생각합니다 분할합니다 프로젝트 크기에 따라 달라집니다 프로젝트 및 많은 사람들이 노력하고 있습니다.

대규모 프로젝트에 대한 프로젝트, I have a

  • 데이터 액세스 (모델)
  • 서비스
  • 프런트엔드를
  • 테스트

나는 attaboy 를 모델의 롭이에요 코너리 그의 점두 프로그램. 참 좋았댄다 작동합니까 것으로 보인다.

[mvc 점두] (http://wekeroad.com/categories/mvc-storefront)

해설 (0)