me2day

the builder pattern simulates named optional parameters as found in Ada and Python- 갑자기 테스트 코드에서 이걸 써보고 싶어졌다.getter/setter처럼 builder도 단축키로 만들어주면 좋으련만 10.12.15 00:26

미투 0

6 개의 댓글이 있습니다.

fupfin fupfin

저도 이펙티브 자바 보고 셋터 대신 빌더를 쓰는 편인데 워낙 자바의 라이브러리나 프레임워크들이 기본으로 자바빈을 요구하다보니 셋터 없는 객체는 호환성이 떨어지더라고요.

10.12.15 01:13
베네로그 benelog

fupfin 저도 되도록 immutable 쓰고 싶은데 같은 클래스라도 소비되는 곳에 따라서 달라지기도 한 것 같아요. .freeze()라도 있으면 도움이 될 것 같기도 하고 ^^;

10.12.15 06:10
fupfin fupfin

benelog freeze()를 제공하는 프레임워크가 뭐였죠? 하이버네이트였나? 흠... AOP로 간단히 가능하겠는데요. ㅎㅎ 아니면 custom annotation processor로...

10.12.15 07:46
베네로그 benelog

fupfin 아 .Collections.immutableList처럼 freeze하면 decorator로 다시 객체를 반환해주는 방식도 가능할듯도 하네요. 제가 아는 freeze는 Ruby에 있고 java쪽에서 있는 건 잘 모르겠네요 ^^;

10.12.15 08:09
베네로그 benelog

fupfin 다시 생각해보니 immultable을 상위클래스로, setter가 있는 것을 하위 클래스로 따로 만들어주는 것이 용도에 따라서 compile-time의 validation이 되니 의미 있는 것도 있을 것 같구요; 아침부터 이상한 고민 중;

10.12.15 08:12
fupfin fupfin

benelog 예, 빌더 쓰기 전에 쓰던 기법 중 하나에요. getters만 있는 인터페이스를 사용해도 좋고요.

10.12.15 08:38