2009-10-13 6 views
0

저는 여러 프로젝트에서 사용하게 될 .NET 클래스 라이브러리를 개발하려고합니다. . 나는 내 이름 공간에 중첩되어야 주문하는 100 % 확실하지 않다 내 디자인의 포인트에 도달했습니다 내가 볼 수있는 두 가지 옵션은 다음과 같습니다네임 스페이스 이름의 용어 순서 지정 우선

공유 프로젝트는 각각

MyCompany.Common.Web 
    MyCompany.Common.Data 
    MyCompany.Common.Utils 

를 사용 다음 사용하여 프로젝트

MyCompany.ProjectName.Web 
    MyCompany.ProjectName.Data 
    MyCompany.ProjectName.Utils 

또는 나는 주위를 뒤집어 considere있는 어느

MyCompany.Web.Common 
    MyCompany.Web.ProjectName 
    etc 

를 사용 모범 사례/더 널리 사용 되는가? 나는 그물에서 둘 다 보았다. 개인적으로 옵션 1은 더 논리적 인 것처럼 보입니다.

답변

2

권장되는 방법은,이다 : 내보기에, 그 자체는 "제품"을 구성하는 것

Company.Product.Functionality

당신이 기능을 공유 한 경우

. 이 경우 내 습관은 해당 제품을 "프레임 워크"라고 명명하는 것입니다.

따라서, 우리는 현재 가지고 : 등등

Share.Framework.Data 
Share.Framework.Data.Oracle 
Share.Framework.IO 
Share.Framework.Security 

하고 있습니다. 우리는 또한,

Share.[Specific product].Windows 
Share.[Specific product].Data 
Share.[Specific product].Payroll 

blah blah를 가지고 있습니다.

사진이 나옵니다. (BTW, Share는 당사 이름입니다.)

0

이 코드가 프로젝트별로 다르면 (2)를 사용하는 것이 좋을 것입니다. (3) 특별히 웹과 관련이있는 경우에만 의미가 있습니다. .NET에 대한 좋은 점 중 하나는 코드를 WPF/Winforms 앱 또는 다른 모든 것에 재사용 할 수 있다는 것입니다.

나는 (1)을 고수 할 것입니다. 다음과 같이 내가 믿는

관련 문제