2011-09-30 4 views
3

가능한 중복 : 나는 새로운 회사에 와서 발견
C# classes in separate files?이 좋은 또는 나쁜 연습 같은 이름 공간에서 동일한 소스 파일에서 비 중첩 클래스를 사용하는 것입니다

C# 프로젝트에는 두 개의 인터페이스와 두 개의 공용 클래스가있는 단일 소스 파일 ..이있었습니다. (진리는 이것이 그들의 프로젝트의 대부분에서 일을하는 방법입니다.) 세 클래스 중 어느 것도 중첩되지 않았습니다. 그러나 그들은 의존성 주입을 사용하여 두 클래스 중 하나를 시작으로 상속 체계를 가지고있었습니다.

질문 1 : 그럼 내 질문은 실제로 각 인터페이스가 단일 소스 파일이나 클래스 또는 인터페이스 당 소스 파일에 있어야하는지 여부와 관련하여 좋은 연습이 아닌 패턴과 관련이 있습니까?
질문 2 : 이 문제를 다루는 좋은 블로그, 포럼, 링크 또는 책이 있습니까?

단일 소스 파일을 사용하여 이런 종류의 실습을 즉시 좋아하지는 않습니다. 나는 클래스 나 인터페이스마다 하나의 소스 파일을 사용한다. 캡슐화 가능성에 대한 파일 수준의 탐색을 제공하기 때문에 클래스 또는 인터페이스 당 소스 파일을 좋아합니다. 또한 파일의 이름은 ISomething으로 시작하고 두 개의 공용 클래스가 있습니다. : (

+0

ISomething.cs 파일에 대한 정말 나쁜 이름입니다이 포함 된 거라면. 어떤 개인적으로, 나는 항상 1 인터페이스/1 클래스/.cs 파일 당 1 열거 형을 수행합니다. –

+0

비슷한 질문 여기 어디에 그가 왜 지금 중첩 클래스를 사용하여 원하는 정보를 찾을 수 있습니다 [여기] [1] [1] : http://stackoverflow.com/questions/48872/why-when-should-you-use-nested-classes-in-net-or-shouldnt-you –

+0

중첩 된 클론에 대해 묻지 않습니다. . 그러나 같은 소스 파일에서 중첩되지 않은 클래스에 대해 묻습니다. – apolfj

답변

2

이름 일치 컨텐트 규칙을 위반하는 경우에만 나쁜 습관입니다. 그래서 Foo.cs가 있고 내부에 Foo와 Bar 클래스가 있다면 그것은 문제가 될 수 있습니다. 클래스 자동차 내부 트럭으로 Vehicles.cs이 있어야합니다.

이가 저를 잘 봉사 그냥 내 개인적인 규칙입니다.

관련 문제