728x90
반응형
01.템플릿 메소드 패턴 장점
- 템플릿 코드를 재사용하고 중복 코드를 줄일 수 있음
- 템플릿 코드를 변경하지 않고 상속을 받아서 구체적인 알고리즘만 변경할 수 있음
- open close principle, single responsibility principle을 만족
02.템플릿 메소드 패턴 단점
- 리스코프 치환 원칙을 위반할 수도 있음
- 리스코프 치환 원칙은 상속 구조에서 상위클래스 타입으로 사용하는 코드에서 그 코드를
- 그 상위 타입말고 그 상위 타입을 상속받은 모든 그 어떠한 임의의 클래스로 바꾸더라도 코드가 의도한대로 동작해야한다는것
- 그 부모가 가진 의도를 그대로 해야하는것
- 여기서는 final을 이용해서 오버라이드 못하게 한다면 어느정도 리스코프 치환 원칙을 막을 수 있지만 추상 메소드 자체를 변경하면 사실 위배할 수 있는 가능성이 생김
- 그 상위 타입말고 그 상위 타입을 상속받은 모든 그 어떠한 임의의 클래스로 바꾸더라도 코드가 의도한대로 동작해야한다는것
- 리스코프 치환 원칙은 상속 구조에서 상위클래스 타입으로 사용하는 코드에서 그 코드를
- 알고리즘 구조가 복잡할 수록 템플릿을 유지하기 어려워짐
728x90
반응형
'CS Study > 디자인패턴' 카테고리의 다른 글
C#적용_22.02.21_전략패턴 (0) | 2022.03.03 |
---|---|
22.03.02_템플릿메소드패턴_자바와스프링에서찾아보는패턴 (0) | 2022.03.03 |
22.03.02_템플릿메소드_패턴적용하기 (0) | 2022.03.03 |
22.03.02_템플릿메소드패턴_패턴소개 (0) | 2022.03.03 |
22.02.20_자바와스프링에서찾아보는패턴 (0) | 2022.02.21 |
댓글