문제

더 많은 프로젝트에서 벨트를 나는 자주 반복되는 많은 일반적인 작업 프로젝트에서 프로젝트,클라이언트는 클라이언트입니다.그래서 나는 시작하여 조립하는"유틸리티"라이브러리 컬렉션의 이러한 일반적인 요소는 종종에서 반복하는 프로젝트 프로젝트입니다.

지금까지 나는 유틸리티 이미지의 크기를 조정,데이터 내보내기 그리드를 excel,전자 메일을 전송,그리고 대체된 메시지입니다.

는 경우 빌딩/를 사용하여.NET 유틸리티 클래스 라이브러리는,어떤 종류의 프로세스를 볼 것으로 도움이 되었습니까?네임스페이스/그룹이 당신이 계획?

업데이트

나는 이야기에 대해 실제의 클래스 라이브러리,으로 분리된 네임스페이스 그룹의 일반적인 요소입니다.

도움이 되었습니까?

해결책

  1. 나는 '공통'또는 '유틸리티'또는 '기타'라는 라이브러리를 쓰지 않을 것입니다. 대신, 나는 'lib'이라는 디렉토리를 가지고 있으며, 그 아래의 각 기능 영역을 별도의 라이브러리에 가지고 있습니다. 예를 들어, C ++ 프로젝트를위한 lib/trace, lib/ui, lib/net, lib/web가있을 수 있습니다. C#의 경우 lib/acme.trace, lib/acme.windows.forms, lib/acme.net 등이 있습니다 (최상위 네임 스페이스/회사를 'ACME'라고 가정 함).
  2. 야그니. 당신이 코드를 쓰지 마십시오 ~할 것 같다 필요.
  3. 두 개 이상의 프로젝트에서 사용할 때까지 공유 도서관에 물건을 버리지 마십시오.

다른 팁

개인적으로, 나는 "유틸리티"가 다소 주관적인 용어이기 때문에이 기능 중 일부를 별도의 라이브러리에 넣을 것입니다. 한 사람이 도움이 된 것은 다른 사람에게 도움이되지 않는다는 것이 아닙니다.

도서관 내에서 설명이있는 네임 스페이스로 분해된다면 더 나은 (예 : 이미지 크기 조정은 일종의 .Drawing 네임 스페이스 또는 .Drawing.dll에 있습니다).

나는 일이 많이 내리는 사이에 공유하는 프로젝트:

  • IoC container 과 종속성을 주입 framework
  • 전 컨트롤러/관찰자의 프레임워크할 수 있는 별도의 UI 코드에서 backlogic 코드
  • 합리적인 데이터베이스-독립적인 설정의 클래스에 대한 SQL 실행,관리의 어떤 구문의 차이로 주로 기능을 이름
  • 다른 많은 도우미 클래스고 유틸리티를 처리하는 방법으로 데이터
  • 표준화된 내부 저장 클래스,아 Tuple<..> etc.
  • 일부 사용자 정의 컬렉션,아 Set<T>, Heap<T>, 뿐만 아니라 많은 유틸리티를 처리하는 방법으로 다양한 종류의 컬렉션

클래스 라이브러리를 추가하가 필요할 때면 더 많은 물건입니다.

"유틸리티"라이브러리 대신 도메인 별 (그래픽, 인증, 검증 등) 라이브러리를 만들고 필요한 곳에 만 포함하도록 제안합니다. 물론 핵심은 얼마나 구체적인 지 결정됩니다. 더 많은 특이성이 일반적으로 더 좋습니다.

도메인이없는 경우 도메인이 없으면 아마도 당신은 당신이하고있는 일을 다시 평가하고 먼저 성취하려고한다는 것을 의미하지 않을 것입니다.

또한 하나 또는 두 개의 프로젝트에 유용한 것은 하나 또는 두 개의 프로젝트에서만 유용 할 수 있습니다. 필요한 것보다 더 많은 클래스를 추가하면 유지 보수 문제가 있습니다.

나는 단지 신생 개발자 일뿐 아니라 Regex 기능과 SQL 필터가 매우 유용하다는 것을 알았습니다. 또한 MSSQL에 대한 병합 복제 기능이 지금까지 매우 유용합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top