해당클래스의 제네릭에 원하는 클래스를 넣거나 리턴 타입을 지정하여 사용한다.
@AllArgsConstructor
@Data
public class PagingCriteriaGeneric <F, S> {
private F allWithPaging;
private S totalCount;
}
요런 식으로 쓰기 좋다.
public PagingCriteriaGeneric<List<BulletinBoardVO>,Integer> readAllWithPaging(Criteria criteria){
return new PagingCriteriaGeneric<List<BulletinBoardVO>,Integer>
(boardMapper.getAllWithPaging(criteria),boardMapper.getPostTotalCount());
};
* 여러정보를 제네릭클래스로 모듈화하여 하나의 클래스로 리턴하는 방법이다. 방안이 무엇일까.
* 1. 반환용 객체를 만든다. -- 클래스가 필드 값을 가지는 구조, 유연성이 너무 떨어진다. / 10점.
* 2. Map 구조에 <String, Object> . -- 객체의 유형이 Object로 통일되어 캐스팅을 일일히 해야한다. 즉 유지보수성이 극악이다. / 1점
* 3. 수만큼의 제네릭 클래스로 모듈화한다. -- Pair<Pair, Pair> 4개 Pair / Pair<Pair, Type> / Pair<AVO, Pair<BVO, Pair<CVO, DVO>.... 재사용성과 확장기능이 뛰어나며 유지보수성이 좋다.
'JAVA-Basic' 카테고리의 다른 글
다시보는 객체지향언어의 특징 (0) | 2020.09.24 |
---|---|
클래스 생성자에 추가사항이 있을때의 관리방법. (0) | 2020.09.11 |
설...계? (0) | 2020.08.28 |
디버깅 (0) | 2020.08.28 |
품질. (0) | 2020.08.28 |