2008/03/24 - [direct] - Java와 Keyword Parameter : map을 이용한 파라미터 전달 혹은 수많은 파라미터를 넘겨줄 것 인가?
를 통해 좀 더 좋은 방법에 대해
민달군과 잠깐의 이야기를 나누어 보았다.
문득 생각난 방법이
자바에 최근 도입된 Generic과 Enum과 Map 이 3가지를 섞어 보면 가능할 것 같은 느낌이 들었다.
기본 아이디어는 위에 나왔고
Map<Enum, Object> param 을 파라미터로 넘겨주고
Enum에 대한 제약을 걸면 될 것 같다.
결국 내가 원하는 것은 param.put("param1",someObject)에 대한 지양이니깐
그 다음으로 걸리는 것은 제약을 걸 방법이다.
첫번째, contructor를 이용해서
param = new HashMap<Enum,Object>(ParamType1, ParamType2,ParamType3)
이렇게 그 Map이 받아 들일 수 있는 해시맵 구현체를 확장하는 방법
이 방법은 스프링 같은 프레임워크에 의존할 때 생성자에 대한 접근이 어렵다는 단점이 있다.
두번째 validate() 메소드 사용 : 일단 넣어보고 검증 후 사용?
세번째 빌더를 이용하는 것을 최종 목적으로 생각하는 것도 좋을 것 같다.
getList(ParameterBuilder.getBuilder(this).set(ParamType1,value1).set(ParamType2,value2).set(Param3,value3).getParams(),anotherParameter);
으흠 막상 써놓고 보니 좀 복잡하다는 느낌이 강하게 든다.
클래스 정의가 잘 된다면
marshalling() <-> unmarchalling()
같은 파라미터로 그 부분을 해결해 줄 수도 있을 것 같다.
를 통해 좀 더 좋은 방법에 대해
민달군과 잠깐의 이야기를 나누어 보았다.
문득 생각난 방법이
자바에 최근 도입된 Generic과 Enum과 Map 이 3가지를 섞어 보면 가능할 것 같은 느낌이 들었다.
기본 아이디어는 위에 나왔고
Map<Enum, Object> param 을 파라미터로 넘겨주고
Enum에 대한 제약을 걸면 될 것 같다.
결국 내가 원하는 것은 param.put("param1",someObject)에 대한 지양이니깐
그 다음으로 걸리는 것은 제약을 걸 방법이다.
첫번째, contructor를 이용해서
param = new HashMap<Enum,Object>(ParamType1, ParamType2,ParamType3)
이렇게 그 Map이 받아 들일 수 있는 해시맵 구현체를 확장하는 방법
이 방법은 스프링 같은 프레임워크에 의존할 때 생성자에 대한 접근이 어렵다는 단점이 있다.
두번째 validate() 메소드 사용 : 일단 넣어보고 검증 후 사용?
세번째 빌더를 이용하는 것을 최종 목적으로 생각하는 것도 좋을 것 같다.
getList(ParameterBuilder.getBuilder(this).set(ParamType1,value1).set(ParamType2,value2).set(Param3,value3).getParams(),anotherParameter);
으흠 막상 써놓고 보니 좀 복잡하다는 느낌이 강하게 든다.
클래스 정의가 잘 된다면
marshalling() <-> unmarchalling()
같은 파라미터로 그 부분을 해결해 줄 수도 있을 것 같다.
'direct' 카테고리의 다른 글
| Adapter Pattern (2) | 2008/03/27 |
|---|---|
| 뭉쳐져 있는 파라미터와 펼쳐져 있는 파라미터 해결은? (0) | 2008/03/24 |
| Java와 Keyword Parameter : map을 이용한 파라미터 전달 혹은 수많은 파라미터를 넘겨줄 것 인가? (5) | 2008/03/24 |
| Apple iPhone SDK 발표.. (3) | 2008/03/10 |

