2013-04-02 3 views
0

프로젝트를 시작하려고합니다. Spring MVC, RestEasy, Spring BatchSpring Security을 사용합니다. Maven 3 모듈

그것은 예컨대 :, 의미는 이들 각각의 모듈을 가지고 지나요

Main_Project 
    ---pom.xml 
    ---Module_Project 
     ---pom.xml 
    ---Module_MVC 
     ---pom.xml 
    ---Module_Rest 
     ---pom.xml 
    ---Module_Batch 
     ---pom.xml 
    ---Module_Security 
     ---pom.xml 

가장 좋은 방법이 무엇인지 확실하지? 아니면 하나의 모듈을 사용해야합니까?

감사합니다, 그것은 이해가되지 않는 첫눈에서 ADI

답변

1

프레임 워크를 무시하십시오.

"뷰/컨트롤러 로직을 비즈니스 로직과 혼합하고 있습니까?"라는 질문에 "아니오"라고 대답 할 때까지 모듈을 나눕니다.

"기능을 믹스하고 있습니까?"

상위 프레임에 프레임 워크를 선언해야합니다.xml 그래서 모듈은 정확히 같은 의존성을 공유 할 수 있습니다.

2

.

당신은 이미 필요한 기술을 알고 있기 때문에 이미 자신의 코드를 구성하는 방법에 대한 아이디어가 있다고 생각합니다. 그리고 이것은 자신이 사용하는 프레임 워크가 아닌 모듈을 구동해야하는 코드 조직입니다. 작업 할 수

일반적인 접근 방식은 (적어도 그것은 기존의 웹 기반 응용 프로그램 아키텍처를 정교하게 출발점이 될 수 있습니다) : 모델과

  • 하나의 모듈 (즉, 데이터베이스 계층, DAO, 지속 콩, ...) - 포장 용기
  • 컨트롤러가있는 모듈 (예 : 데이터베이스 계층, 트랜잭션 관리, 비즈니스 논리에 대한 액세스) - 패키징 항아리
  • 뷰 파일과 함께 하나의 모듈 (앞 계층) (있는 경우) (jsp, ...) - 포장 전쟁
  • 웹 서비스 정의가있는 한 모듈 (앞의 레이어) - 포장 전쟁
1

프레임 워크별로 모듈을 주문하지 마십시오. (프레임 워크는 아마 이런 식으로, 당신이 그들을 필요로 당신의 모듈에 추가 종속성이 있습니다.

<project> 
    <groupId>com.ourproject</groupId> 
    <artifactId>myfeature</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    ... 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>3.2.2.RELEASE</version> 
     </dependency> 
    </dependencies> 
</project> 

프로젝트를 구성하는 방법에 여러 가지 방법이 있습니다 내가 현재 조직의 소프트웨어를 사용하고

접근 그런 다음 각 기능은 좋은 Java 패키지를 통해 "세분화"됩니다.이 방법을 사용하면 특정 기능에 속하는 비즈니스 로직, 데이터 액세스 개체 및 특정 리소스를 모두 하나의 모듈로 묶을 수 있습니다. 기능에 속한 모든 것을 찾기 위해 매우 열심히 노력하지 않아도됩니다. 원하는대로 기능을 소개하거나 제거 할 수 있습니다.

단점은 모든 기능 모듈 (교차 절단 문제 또는 공통 상위 클래스)이 사용하는 객체를 별도의 모듈로 압축하고 각 모듈에 또 다른 의존 관계로 추가해야한다는 것입니다.