[구글 Visualization API] Fluent Interface 적용하기
이름은 좀 멋지지만 별거 아니라는...
Statistics statistics = new Statistics(StatisticsChartType.MOTION, "스터디 참석자 통계 그래프");
statistics.addColumn(StatisticsColumnType.STRING, "스터디 이름");
statistics.addColumn(StatisticsColumnType.DATE, "모임 날짜");
statistics.addColumn(StatisticsColumnType.NUMBER, "참석자 수");
statistics.addColumn(StatisticsColumnType.NUMBER, "모임 횟수");
statistics.addColumn(StatisticsColumnType.NUMBER, "참석율");
statistics.addColumn(StatisticsColumnType.STRING, "스터디 상태");
statistics.addColumn(StatisticsColumnType.STRING, "모임명 이름");
이 코드는 얼마전에 봄싹 사이트에 Statistics 메뉴를 추가하면서 코딩한 것인데 오늘 보다가 갑자기 Fluent Interface가 떠올랐습니다. 그래서 적용해봤지요.
Statistics statistics = new Statistics(StatisticsChartType.MOTION, "스터디 참석자 통계 그래프")
.withColumn(StatisticsColumnType.STRING, "스터디 이름")
.withColumn(StatisticsColumnType.DATE, "모임 날짜")
.withColumn(StatisticsColumnType.NUMBER, "참석자 수")
.withColumn(StatisticsColumnType.NUMBER, "모임 횟수")
.withColumn(StatisticsColumnType.NUMBER, "참석율")
.withColumn(StatisticsColumnType.STRING, "스터디 상태")
.withColumn(StatisticsColumnType.STRING, "모임명 이름");
조금 fluent 하게 보이나요??ㅋ 객체를 다 만든 다음에 추가하는게 아니라 객체 만들 때 메서드를 연달아 호출하는 모양이여서 메서드 이름을 add -> with로 변경했습니다. 메서드 리턴 타입도 당연히 바꿨지요.
장점은 저렇게 조금 API가 이쁘고 사용하기 편해진다는 것이고 단점은 디버깅할 때 조금 불편할 수 있다는데.. 머.. 글쎄요. 그다지...
'모하니? > Coding' 카테고리의 다른 글
| [구글 Visualization API] Fluent Interface 적용하기 (0) | 2010/03/11 |
|---|---|
| [Google Visualization API] 캬.. 멋지구나~ (6) | 2010/03/07 |
| 톰캣 메일링 리스트 가입하기 (0) | 2010/03/05 |
| 우편번호 검색&입력기 만들기 (0) | 2010/03/03 |
| [스프링 3.0 @MVC] 컨트롤러에 스프링 AOP가 적용되지 않는다는건 이제 거짓말 (0) | 2010/02/17 |
| [SVN] Spring Framework 3.0.0.RELEASE (0) | 2010/02/11 |
| [봄싹 DevTerms] 활성화 맞춤형 개발 (0) | 2010/01/21 |
| 2010 대한민국 매쉬업 참가했습니다. (10) | 2010/01/20 |
| 개발 용어 한글화 프로젝트 "DevTerms" (0) | 2010/01/19 |
| [웹 사이트 속도 향상 베스트 프랙티스 10] 자바스크립트 CSS 크기 줄이기 (2) | 2009/12/19 |
| [스프링 테스트 확장] static member class를 빈으로 등록하는 테스트 로더 1 (6) | 2009/12/18 |





