Design Pattern/Design Pattern

[Pattern] 템플릿 메소드 패턴 ( Template Method Pattern )

NavyGuy 2016. 5. 24. 10:59

템플릿 메소드 패턴


템플릿 메소드 패턴


정  의

하위클래스의 여러 클래스 들이  공통되는 사항을 상위 추상 클래스에서 구현하고, 상세한 기능들은 각 하위 클

래스에서 구현함



사용이유

코드의 중복을 줄이고 효율적인 코드관리가 가능


단  점

상위클래스의 구조(템플릿)에 대한 재사용은 잘 이뤄지지만, 하위 클래스의 상세한 기능들을 재사용하기 어려움

▶ 하위 클래스의 상세한 기능들의 코드를 재사용 불가


기능을 재사용하려면 하위 클래스의 상세한 기능들을 클래스로 따로 지정해야함


해결방안

단일 책임 원칙

한 클래스는 하나의 책임만 가져야 한다

▶ 클래스를 각각 만들어 따로 상세한 기능을 지정하여 재사용