2017-12-30 74 views
-1

우리는 JSF (프리젠 테이션 라이브러리로 Primeface) 및 데이터 액세스 계층 용 스프링 데이터 JPA를 사용하여 웹 기반 응용 프로그램을 만들고 있습니다. 그리고이 프로젝트는 Spring Boot가 가능합니다.페이지 번호를 사용하기 위해 프레젠테이션 티어에서 스프링 데이터로 종속성을 생성해야합니까?

프로젝트는 계층별로 여러 모듈로 나뉘며 그 중 하나는 프레젠테이션 계층입니다.

프리젠 테이션 계층에서 스프링 데이터에 대한 종속성을 생성하는 것이 좋습니다 (PageRequest 및 Slice and ... 클래스에 대한 액세스 권한이 있습니까)?

그렇지 않으면이 클래스에서이 클래스를 다시 구현하고이를 Spring 데이터 클래스로 변환해야한다.

+0

아키텍처에 따라 다릅니다. 프리젠 테이션 레이어와 퍼시스턴스 레이어 사이의 레이어는 무엇을합니까? –

+0

비즈니스 로직을 처리하고, 유효성 검사를 수행하고, 계산을 수행하는 등의 서비스 계층이 있습니다. 그런 다음 일부 작업을 지속성 계층에 위임합니다. 그러나 어떤 경우에는 (예 : 검색 등) 데이터 액세스 레이어에 검색을 위임합니다. –

답변

1

프리젠 테이션 계층에서 스프링 데이터로 종속성을 생성하는 것이 좋습니다 (PageRequest 및 Slice 및 ... 클래스에 대한 액세스 권한이 있습니까)?

모든 결정은 장단점이 있으며, 이것이 문제가되는지 여부에 따라 실제로 상황에 달려 있습니다.

나는 종속성에 찬성하여 다음 사항을 참조하십시오 PageRequest와 비슷한 클래스의

  • 재사용. 이들은 지속성을 가지고 작업 할 때 필요하지만 실제로는 지속성과 관련이없는 개념을 나타냅니다. 그러므로 복제 할 필요가 없습니다.

한편, 스프링 데이터에는 프레젠테이션 계층에서 비즈니스가없는 많은 클래스가 포함되어 있습니다. 예를 들어, 저장소를 만드는 것을 다루는 사람들.

귀하의 임무는 주위에있는 클래스의 위험/손상이 PageRequest 및 공동 사용의 이점보다 큰지 여부를 확인하는 것입니다.

나는 지금까지 함께 일한 모든 팀과 프로젝트에서 종속성을 선택했습니다.

  1. 도메인 어쨌든 JPA와 Spring 데이터에 종속 : 여기

    이유입니다. 따라서 domain-layer에 따라, 원하는지 여부에 관계없이 일시적인 종속성을 갖게됩니다.

  2. 스프링 데이터 내의 지속성 특정 클래스는 너무 구체적이어서 다른 사용자가 직접 사용하려고 시도한 적이 없습니다. 특히 첫 번째 점은 당신이 가지 JPA의 장점을 부정 할 별도의 전송 객체에서 JPA 엔티티를 통해 복사되지 않는 것으로 가정

참고.

+0

+1 for ""** 귀하의 작업 **은 다음과 같은 위험/피해 여부를 결정하는 것입니다. 그 클래스를 가지고있는 것은 PageRequest와 공동 사용의 이점보다 큽니다."_ (강조 광산) – Kukeltje