Whiteship's Note

'메소드 추상화'에 해당되는 글 1건

  1. 2006.12.04 메소드 추상화 (2)

메소드 추상화



현재 주소록 어플리케이션에 구현되어 있는 메소드는 다음과 같습니다.

이 중에서 find 관련된 메소드들은 매우 구체적입니다. findByXXX(value); 이런식입니다. 이 것을 다음과 같이 추상화 시킬 수 있습니다.


1번이 현재 상태입니다. 이것을 2번과 같이 좀더 추상화 시켜서 findByName(value)를 findBy("Name",value) 이런식으로 추상화 시킬 수 있습니다. 이 때 메소드 갯수는 대폭 줄어 듭니다. 하지만 이 메소드 내부가 복잡해 집니다. if나 switch 문이 생기게 될 것입니다.

3번 상태는 By 까지 추상화 시켜서 아예 맵을 넘겨 주는 것입니다. 그리고 4번은 key가 한정된 범위 내에서 선택 되도록 EnumMap을 사용하도록 3번을 좀더 개선 시킨 것입니다.

각각이 다 장단점이 있지만 1번의 메소드 이름이 구체적이고 새로운 검색 조건이 추가 될 때 기존 메소드를 고치기 보다 그냥 하나 추가하는 것이 편하기 때문에 1번 방법을 계속 사용하도록 하겠습니다.

'Spring > 주소록 만들기' 카테고리의 다른 글

Easymock 연습하기 2탄  (0) 2006.12.05
Easymock 연습하기  (0) 2006.12.05
단위 테스트 모르겠슴 ㅠ.ㅠ  (0) 2006.12.05
Eclipse에서 Rename Method 리팩토링  (0) 2006.12.04
세련된 SQL map (iBATIS)  (0) 2006.12.04
메소드 추상화  (2) 2006.12.04
log4j.properties 파일 위치 시키기  (2) 2006.12.04
log4j 설정하기(in spring)  (0) 2006.12.02
수정해야 할 것들  (2) 2006.11.28
iBATIS에서 selectKey 사용하기  (2) 2006.11.23
MySQL 설치 시 주의 할 점  (6) 2006.11.23
top

  1. Favicon of http://younghoe.info/ BlogIcon 영회 2006.12.04 12:02 PERM. MOD/DEL REPLY

    getNumberOfMembers는 count로 변경해도 될 듯

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2006.12.04 12:21 신고 PERM MOD/DEL

    감사합니다. :)

Write a comment.