행동 패턴 2

[행동 패턴] 템플릿 메서드(Template Method)

템플릿 메서드(Template Method) Def) 알고리즘의 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의하는 패턴 부모 클래스에서 알고리즘의 골격을 정의하지만 해당 알고리즘의 구조를 변경하지 않고 자식 클래스들이 알고리즘의 특정 단계를 오버라이드할 수 있도록 하는 행동 디자인 패턴을 말한다. 사용하는 경우 구현하려는 알고리즘이 일정한 프로세스가 있다. 여러 단계가 있다. 구현하려는 알고리즘이 변경 가능성이 있다. 템플릿 메서드 사용 방법 알고리즘을 여러 단계로 나눈다. 나눠진 알고리즘의 단계를 메소드로 선언한다. 알고리즘을 수행한 템플릿 메소드를 만든다. 하위 클래스에서 나눠진 메소드들을 오버라이드한다. 기본 설계 추상 클래스에 step1, 2, 3 을 나눠서 ..

[행동 패턴] 전략 패턴(Strategy Pattern)

인터페이스(Interface) 키보드나 디스플레이 따위처럼 사람과 컴퓨터를 연결하는 장치 기능에 대한 선언과 기능과 구현을 분리한다. 기능을 사용하는 통로 어떤 기능에 접근하는 접근점을 제공한다. 델리게이트(Delegate) 위임하다. 떠넘긴다는 뜻 두 객체간의 관계에서 어떤 객체가 기능을 수행할 때, 복잡한 기능을 개발하는 책임을 다른 객체로 떠넘긴다. 전략 패턴(스트레지티 패턴, Strategy Pattern) Def) 여러 알고리즘을 하나의 추상적인 접근점(인터페이스)을 만들어서 접근 점에서 서로 교환 가능하도록 하는 패턴을 말한다. 의도: 알고리즘들의 패밀리를 정의하고 각 패밀리를 별도의 클래스에 넣은 다음 그들의 객체들을 상호교환하도록 하는 행동 디자인 패턴을 말한다. 해결책: 특정 작업을 다양..