웹(Web)/백엔드(Backend)

Java로 배우는 디자인패턴

SK_MOUSE 2022. 7. 14. 12:28
반응형

참고서적

디자인패턴 별로 사용하는 이유에 대해서 알아보았다.

1. 반복패턴(Iterator)

: for문이 아니라 Iterator를 사용하는 이유는 구현에 의존하지 않기 때문!

 

ex) class Book{List<Integer> list 선언} => class Book{Vector 선언} 으로 바꾸는 경우 for문의 구현부분도 다시 변경해야하는데, Iterator를 사용하면 이러한 구현의 변경점에 의존하지 않고 반복문을 실행 할 수 있다.

 

2. 어댑터패턴(Adapter) - 바꿔서 재이용하기

: 기존의 클래스를 개조해서 필요한 클래스를 만든다. 이 패턴으로 필요한 메소드를 발빠르게 만들 수 있다. 만약 버그가 발생해도 기존의 클래스에는 버그가 없으므로 Adapter역할의 클래스를 중점적으로 조사하면 되고, 프로그램 검사도 상당히 쉬워진다.

 

3. 탬플릿 메소드(Template Method) 패턴 - LSP(리스코프의 원칙)

: 상위 클래스쪽에 템플릿에 해당하는 메소드가 정의도어 있고, 그 메소드의 정의 안에는 추상 메소드가 사용되고 있다.

 

리스코프의 원칙은 아래와 같다.

" 상위 클래스형의 변수에 하위 클래스의 어떠한 인스턴스를 대입해도 제대로 작동할 수 있도록 한다."

 

4. 팩토리 메소드(Factory Method) 패턴

: 템플릿 메소드 패턴을 응용한 것으로, create 메소드가 Template 메소드로 되어 있다.

반응형