woowacourse / tecoble-comments

0 stars 0 forks source link

tecoble/post/2021-04-26-state-pattern/ #34

Open utterances-bot opened 2 years ago

utterances-bot commented 2 years ago

상태 패턴(State Pattern)을 사용해보자

🥰 😁 😐 😩 🤬 😴 상태(현재 진행중인 행위)를 나타내기 위해 어떤 방식을 사용해 왔는가? Enum 열거형(Enum) 이란 서로 연관된 상수들의 집합이다. 상태를 나타내기에는 정말 편리한 방식이라고 생각한다. 하지만 Enum…

https://woowacourse.github.io/tecoble/post/2021-04-26-state-pattern/

hea9549 commented 2 years ago

State interface를 enum이 implement 하는것은 enum class가 너무 비대해지기때문에 지양하는 건가요?

lns13301 commented 2 years ago

질문을 제대로 이해한 것인지는 확실하지 않지만 답변 드리겠습니다. 상태 패턴은 객체가 각각 하나의 상태를 대표하고, State Interface에서 정의된 메서드를 각 클래스의 구현에 맞게 처리를 해줍니다. Enum 은 메서드에 대해 분기를 두고 조건에 맞는 상태일 때, 해당 분기 처리를 해주는 방식입니다. 따라서, Enum 이 State Interface 를 구현한다는 것은 개념자체가 맞지 않는 부분이라고 생각합니다.