2021.12.07_어댑터패턴04.자바와스프링에서찾아보는패턴
본문 바로가기
CS Study/디자인패턴

2021.12.07_어댑터패턴04.자바와스프링에서찾아보는패턴

by KyeongMin 2021. 12. 7.
728x90
반응형

JAVA

public AdapterInJava{
	public static main(String[] args){
    List<String> strings = Arrays.AsList("a","b","c");
  }
}
  • 배열을 리스트로 변경할 때
  • 이렇게 상이한 것을 바꿔주는것

Collections

public AdapterInJava{
	public static main(String[] args){
    List<String> strings = Arrays.AsList("a","b","c");
  Enumeration<String> enumeration =	Collections.enumeration(strings);
 
  ArrayList<String> list = Collections.list(enumeration);
  }
}
  • 리스트를 Enumer로 변경하는 것
  • Enumer을 리스트로 변경하는 것

Io

public AdapterInJava{
	public static main(String[] args){
		try(InputStream is = new FileInputStream("input.txt");
        inputStreamReader isr = new InputStreamReader(is);
        BufferedReader reader = new BufferdReader(isr)){
        While(reader.ready()){
					System.out.println(reader.readLine());
        }
    } catch(IOException e){
      throw new RuntimeException(e);
    }
    }
  }
}

어디가 어댑터패턴인가?

		try(InputStream is = new FileInputStream("input.txt");
        inputStreamReader isr = new InputStreamReader(is);
        BufferedReader reader = new BufferdReader(isr)){
  • 이부분이 일종의 어댑터 패턴이라고 할 수 있음

Spring

  • 이전 학습했던 security의 UserDetails, UserDetailService에 대한것임
  • HandlerAdapter
    • 요청처리하고 응답처리하는것인데
    • 이것을 다양하게 할 수 있지만 요새는아래와 같이 구현
@Controller
public class HelloController{
  
  @GetMapping("/hello")
  public String hello(){
		return "hi";
  }
}
  • 이렇게 뿐만아니라 다양하게 할 수 있고
  • spring MVC는 다양한 핸들러 구현하고 우리가 원하는 핸들러로 확장도 가능함
    • 여기서 핵심은 핸들러의 형태는 다양하다가 중요한것
728x90
반응형

댓글