JAVA-Basic

제네릭을 이용한 필요한 클래스들의 모듈화

Jungsoomin :) 2020. 9. 10. 17:22

해당클래스의 제네릭에 원하는 클래스를 넣거나 리턴 타입을 지정하여 사용한다.

@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