디자인패턴
[디자인 패턴] Strategy 패턴
- 정의 여러 전략들에 대한 하나의 인터페이스를 만들어 각 접근점에서 서로 교환이 가능하도록 하는 패턴이다. 간단하게 설명하자면, 인터페이스를 정의한 뒤 인터페이스를 따르는 여러 전략을 생성하고 필요시에 원하는 전략을 주입을 가능하게 함으로써 의도한 기능을 할 수 있게 해준다. - UML 1. 특정 기능(여기선 study)를 수행할 인터페이스 정의 2. 각 특정한 기능을 전략에 맞게 수행할 클래스 정의(CafeStudyStrategy, LibraryStudyStrategy, HomeStudyStrategy) 3. 전략들에 맞는 기능을 수행해줄 클래스 정의(Stduy 클래스) 4. Study 객체에 전략을 설정하고 doStudy를 통해 해당 전략이 수행될 수 있도록 함 - 코드 StudyStrategy i..