2017-11-29 6 views
1

현재 프로젝트에는 두 개의 라이브러리 libAAAlibBBB이 있습니다. 전자는 libAAA으로 내 프로젝트의 기본 수학 및 기법 (예 : 체스 규칙)을 포함합니다. 후자 인 libBBBlibAAA에 의존하지만 GUI 요소 (예 : 단일 숫자가 그려지는 방식)를 추가합니다.실행 파일이 이미 다른 종속성에 의해 사용되는 라이브러리에 의존하는 것은 나쁜 습관입니까?

실행 파일은 libAAAlibBBB에 따라 다릅니다. 예 : libBBB은 체스 게임을 설정하는 데 사용되며 libBBB은 모양 (console, qt, gtk, ...)을 정의하는 데 사용됩니다.

중복 된 종속성을 갖는 것이 좋습니까? 아니면 나쁜 습관입니까?

편집 : 기계식에서 GUI 표현을 쉽게 분리하는 것이 좋기 때문에 나는 묻습니다. 예 : 모양이나 툴킷을 변경하고 싶다면 libHHH을 추가하면 다른 실행 파일을 만들 수 있습니다.

답변

1

괜찮습니다. 몇 가지 대안에

살펴 보자 : libBBBlibAAA에서 모든 코드

  1. 당겨 : libAAA이 다른 상황에서 사용할 수 없습니다 경우에 확실히이며, 각각의 크기는 수 이것은 실제적인 방식으로 행해지는 것입니다. 그러나 많은 경우에, 예를 들어. libBBB이 훨씬 크고 libAAAlibBBB에 사용 된 UI 프레임 워크와 독립적으로 많은 프로젝트에서 재사용이 가능한 작은 라이브러리로 사용되는 경우 작동하지 않습니다.

  2. libBBB이 (가) 사용중인 코드를 직접으로 복사하십시오. 이 등 같은 일을 많이 할 두 개의 별도의 라이브러리, 미래에 업데이트하는 두 곳, 미래의 나 그것을 이해하려고 다른 사람이 당신을 위해 더 혼란,

  3. libBBB을 가져와을 의미 : 개발 스택 및 환경에 따라 항상 가능한 것은 아니며 실용적인 것은 아닙니다. 많은 응용 프로그램은 성능이나 다른 이유로 인해 다른 언어로 프로그래밍되고 컴파일 된 라이브러리가 필요할 수도 있습니다.

중복 옵션에도 불구하고 두 가지 종속성을 모두 유지하는 것이 좋습니다.

편집 내용에서 언급했듯이 libBBBlibAAA (또는 필요한 경우 다른 lib)도 사용하는 다른 UI 라이브러리로 바꿀 수 있습니다. 핵심 응용 프로그램 코드를 훼손하거나 다른 코드를 무효화하지 않아도됩니다. 당신의 의존성.

관련 문제