2008-09-11 6 views
0

이 질문에 대한 후속이다 : 즉, 폴더 == 네임 스페이스, 일반적으로,하지만 노예 (그런데 자바 :배치 된 단위를 반영하기 위해 저장소의 구조에서 일반적으로 수행되는 작업이 있다면 무엇입니까?

Should the folders in a solution match the namespace?

그 질문에 대한 합의 자격이 "예"는 있었다 필요).

실제로 프로젝트를 설정하는 방법입니다.

그러나 소스 제어를 설정하면 현재 폴더 구조가 망설이게됩니다. .NET Framework에서와 마찬가지로 프로젝트의 네임 스페이스가 배포 된 단위와 일대일로 일치하지는 않습니다. 말해봐

 
lib    -> lib.dll 
lib.data  -> lib.dll 
lib.ecom  -> lib.ecom.dll 
lib.ecom.paypal -> lib.ecom.paypal.dll 

즉, 하위 네임 스페이스는 부모와 함께 제공되거나 제공되지 않을 수 있습니다.

함께 전개되는 이름 공간은 어떤 식 으로든 그룹화됩니까?

그건 그렇고, VS 또는 NAnt — 그냥 좋은 구식 빌드 배치를 사용하지 마십시오.

답변

1

저는 대개 이것에 대해 정말로 생각하지 않고 "옳은 느낌"을하지만 대개 다음 전략에 상당히 잘 맞는 이름을 사용합니다.

내가하고있는 것처럼 .dll 이름에 대해 트리에서 가장 높은 공통 네임 스페이스를 사용합니다.

및 lib.data 이것은 lib이므로 dll은 lib입니다. lib.ecom과 lib.ecom.paypal의 경우 lib.ecom이므로 dll은 ecom입니다. 당신이 일에 대해 예를 들어 좀 더 생각해야 어떤 경우에는

우리는 다음과 같은 네임 스페이스 (경고, 간단한 예를 올라오고)이 있고 우리가 그룹화하려는 두 개의 DLL의

myapp.view 
myapp.presentation 

myapp.model 
myapp.dataaccess 

우리가 할 수있는 ' 우리는 두 개의 myapp 어셈블리를 가지고 있기 때문에 myapp를 사용한다. 이 경우 가장 적절한 네임 스페이스의 이름을 사용합니다. 첫 번째 이름은 myapp.presentation이고 두 번째 myapp.model은 네임 스페이스가 가장 중요한 경우입니다.