2012-07-30 3 views

답변

3

모듈이 별도로 배포해야하는 경우 여러 개의 모듈로 프로젝트가 예를 들어, 유용 @Esko Luontola

분할의 대답 ..

가 잘못 해석 될 수있다. 별도로 배포 할 모듈이 있다면 그 반대입니다. 이 경우, 다중 모듈 빌드를 생성해서는 안됩니다. 이것은 단순한 별도의 메이븐 프로젝트를 통해 수행되어야합니다.

다중 모듈 빌드의 아이디어는 클라이언트, 서버, ejb, 전쟁 등과 같은 여러 프로젝트로 구성되는 귀 프로젝트와 같이 소속 된 모듈이있는 경우입니다. 일반적으로 다중 모듈을 통해 처리됩니다. build는 모든 모듈이 동일한 버전 번호를 갖지만 다른 모듈은 다른 모듈에 액세스하여 사용할 수 있음을 의미합니다.

1

프로젝트를 여러 모듈로 나누는 것은 예를 들어 모듈을 개별적으로 배포해야하거나 라이브러리의 경우 프로젝트의 일부 소비자 만 클래스의 하위 집합 만 필요하거나 라이브러리 개발자가 원하는 경우에 유용합니다. 공개 API가 무엇이고 개인 구현이 무엇인지 명확하게 구분하십시오. 그리고 큰 프로젝트를 사용하면 코드가 기술적으로 모두 동일한 모듈에있을지라도 코드를 순서대로 유지하기가 더 쉽습니다.

1

이있는 내가 다중 모듈 Maven 프로젝트 사용을 권장합니다 좀 더 사용 사례입니다 :

  1. 귀하의 모듈

    하면 주 치어 모든 종속성을 지정합니다이 경우, 같은 종속성을 공유하고, 모든 모듈이 그것을 즐길 수 있습니다. (각 모듈에 대해 동일한 종속성을 지정할 필요가 없습니다.)

  2. 여러 프로젝트에 대한 작업을 모두 수행해야하는 경우. (나는 개인적으로 그것을 사용한다.) 나는 모든 프로젝트에서 패키지를 생성하고 그것을 costumer에게 보낸다. 그래서 메인 pom을 사용하여 빌드하고, 다른 maven plugin을 사용하여 zip 파일로 패키징한다.

3

이 질문은 일반적으로 소프트웨어에 관한 것 같습니다. Maven은 Maven을 수행하는 한 가지 방법 일뿐입니다.

나는 "Continuous Delivery", by Jez Humble

구성 요소는 무엇입니까에서 몇 줄을있는 qoute 것인가? 이것은 소프트웨어에서 끔찍하게 오버로드 된 용어 인 입니다. 그래서 우리는 그것이 무엇을 의미하는지 가능한 한 명확하게하려고 노력할 것입니다. 구성 요소에 관해서는 잘 정의 된 API를 사용하여 응용 프로그램 내에서 비교적 큰 규모의 코드 구조를 의미하며 다른 구현을 위해 을 잠재적으로 스왑 아웃 할 수 있습니다. 구성 요소 기반 소프트웨어 시스템은 코드베이스가 다른 구성 요소와 잘 정의되고 제한된 상호 작용을 통해 동작을 제공하는 개별 부분으로 나뉘어져 있다는 점에서 구별됩니다. 구성 요소 기반 시스템의 대조법은 서로 다른 작업을 담당하는 간에 경계가 명확하지 않거나 경계가없는 모 놀리 식 시스템입니다.모 놀리 식 시스템은 일반적으로 캡슐화가 불량이며, 논리적으로 독립적 인 구조 사이의 밀 결합은 Demeter의 법칙을 위반합니다. 컴포넌트 기반 설계를 채용

는 ...

종종 재사용을 유도하고 이러한 느슨한 결합 좋은 구조적 특성으로 설명된다. 이 은 사실이지만 또 다른 중요한 이점이 있습니다. 이는 큰 팀의 개발자가 협력 할 수있는 가장 효율적인 방법 인 중 하나입니다.

...

많은 프로젝트는 하나의 버전 관리 저장소와 간단한 배포 파이프 라인 괜찮습니다. 그러나 많은 프로젝트가 코드로 유지 보수가 어려웠으므로 누구도 을 작성하는 결정을 내렸지 만 비용이 적게 드는 경우 개별 구성 요소를 만들었습니다. 작은 프로젝트가 큰 프로젝트로 변경되는 의 요점은 유동적이어서 을 몰래 사용합니다.

...

마지막으로, 그 "조직 된 설계 시스템을 말한다 콘웨이의 법칙을 주목할 가치가있다. . . 예를 들어 개발자가 전자 메일로만 통신하는 오픈 소스 프로젝트는 매우 소수이며 인터페이스가 거의없는 경향이있는 오픈 소스 프로젝트입니다. 소규모의 공동 연구팀이 개발 한 제품은 이 단단히 결합되고 모듈화되지 않는 경향이 있습니다. 개발 팀을 설정하는 방법에주의하십시오. 이는 응용 프로그램의 아키텍처에 영향을 미칩니다.

나는이 마지막 진술이 얼마나 명쾌하고 정확했는지 놀랍습니다. 그리고 그 책을 강력히 추천합니다! :-)

관련 문제