글 작성자: HEROHJK

Method Chaining


메서드를 연속적으로 사용하는 패턴입니다.


"http://herohjk.com/"


다음과 같은 URL을 대문자로 변환하고, 순수하게 도메인 주소만 가져오고싶을때, 아래와같이 코드를 만들 수 있습니다.


(짬뽕문법입니다 수도코드정도로 이해해주시면됩니다)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//herohjkUrl = "http://herohjk.com/"
 
String GetDomainToUpper(String herohjkUrl){
 
    String herohjkUrlUpper = herohjkUrl.toUppercase();
    // "HTTP://HEROHJK.COM/"
 
    String herohjkUrlReplaceSlash = herohjkUrlUpper.Replace("/","");
    // "HTTP:HEROHJK.COM"
 
    String herohjkUrlSubstring = herohjkUrlUpper.subString(5,herohjkUrlUpper.Length()-1);
    // "HEROHJK.COM"
 
    return herohjkUrlSubstring;
}
cs




메서드 체이닝을 이용하면 다음처럼 줄일 수 있습니다.




1
2
3
4
5
6
7
//herohjkUrl = "http://herohjk.com/"
 
String GetDomain(String herohjkUrl){
 
    return herohjkUrl.toUppercase().Replace("/","").subString(5,herohjkUrl.Length());
 
}
cs



메서드 체이닝을 이용한 코드는 간결하지만 보기가 조금 힘드네요.


코딩스타일이야 개인에 따라서 다르지만, 어느정도 가독성을 확보한다면 위의 예시처럼 메서드 체이닝을 이용해도 괜찮을 것 같습니다.

반응형