2009-12-10 6 views
0

전에 도서관 공통 및 유틸리티 통합, 유사한 질문이 아닌 정확한 :
Working with Common/Utility Libraries,
What to include in a Utility Library.내가 시작

저는 최근에 회사의 내부 C# 라이브러리 (Common.dll 및 Utilities.dll 포함) 작업을 시작했습니다. 꽤 표준적인 물건.

나의 현재 계획은이 두 라이브러리를 매우 다른 용도로 사용되는 매우 다른 두 개의 엔티티로 세분화하는 것입니다. 그러나, 나는 그 라인을 그릴 곳을 알아 내지 못했다.

각각의 내용에 대한 자세한 내용을 제공하는 대신 이러한 장벽을 정의하는 방법에 대해 중립적 인 조언을하겠습니다. 나는 uberspecifics가 필요하지 않습니다.

이 두 가지는 단일 라이브러리로 통합되어야한다는 인수도 있습니다. (위의 링크 참조) 적절한 대안이 없다면 나는 그 아이디어에 열려있다. 나는 두 사람의 차이에 더 관심이있다.

미리 감사드립니다.

답변

4

"공통"과 "유틸리티"는 의미를 잘 이해하고있는 것처럼 말합니다. 나는 그러한 분리가 있어야한다는 것을 인식하지 못한다. 또는 재사용 가능한 코드의 조직이 그러한 범주가 두 개 있어야한다고 생각하지 않는다.

먼저 프로덕션 응용 프로그램에서 재사용되는 코드 본문과 테스트 용으로 만 사용되는 코드 본문을 구별합니다.

다음으로 비즈니스 도메인 공통 코드 (예 : 외화 거래 또는 자동차 대여 마일리지 요금제 또는 귀하의 비즈니스가 어떤 일이든간에 코드)와보다 일반적인 목적의 유틸리티 Logging, String Formatting, 또는 Some Clever Math와 같은)을 사용할 수 있습니다. 나는 어떤면에서는 "함께"속해 있고 어떤 것은 분리되어 있어야한다는 코드 조각을 발견 할 것이라고 생각합니다. 몇 가지 가능한 기준 : 변화의

  • 속도 :이 아마 너무 변경하는, 변경, 그래서 우리가 함께
  • 오버 헤드를 그들을 석방해야 할 때 -이 덩어리가 큰 만 포함의 가격을 지불해야하는 필요성을 애플 리케이션 또는 배포 할 수 있습니다.
  • 범위는 -이 UI 코드, 즉 데이터베이스 코드, 별도로
  • 종속성을 유지 - 당신이 사용하는 경우, 당신은 또한을 사용하기 때문에 theOther 별도의 유지, 그는
  • 하는 순환하지 않는 것이 필요하지 않습니다 의존성을 피하기 위해 분해하고 재구성해라.
+0

나는 모두가이 두 가지 구별을 보았다고 생각하기는 어렵지만,이 웹 사이트와 다른 웹 사이트를 열람하는 것은 상당히 일반적이다. –

+1

비공식적 인 수준에서 당신이 옳을 수도 있지만 분명히 당신의 질문은 분열 선에 대한 명확한 정의가 부족한 것으로 보인다는 것을 나타냅니다. 나는이 문제를 모든 재사용 가능한 코드의 입도 중 하나로 취급하는 것을 선호한다. 저는이 코드를 두 개로 잘라낸 것 같지 않습니다. 보통 더 많이 사용한다고 생각합니다. 문제는 "이 공통점인가요 아니면 유틸리티인가"가 아니라 "우리에게 올바른 부분이 있는지"입니다. – djna

관련 문제