반응형
디자인패턴 별로 사용하는 이유에 대해서 알아보았다.
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 메소드로 되어 있다.
반응형
'웹(Web) > 백엔드(Backend)' 카테고리의 다른 글
Intellij 한번에 변수 이름 바꾸는 단축키 (0) | 2022.08.31 |
---|---|
Spring Data JPA @Query 활용법(JPQL, DTO) (0) | 2022.08.31 |
인프런 김영한 개발자님의 스프링강의 대략적인 틀 (0) | 2022.07.02 |
Spring JPA 쿼리메소드 (0) | 2022.02.20 |
Spring 공통속성 JPA Auditing, EntityListener, MappedSupperclass (0) | 2022.02.18 |