프로그래밍 디자인

    프로그래밍 Design Pattern 이해하기 - 10 스테이트 패턴

    스테이트 패턴 오늘은 실제로 사람들이 쓰는 기계를 자바로 만들어보려고 한다. gumball machine(우스꽝스러운 기기)를 생각보다 높은 기술력을 가지고 있다. gumball machine 이란 동전넣고 돌리면 껌이 나오는 기기다. 아래 다이어그램을 보자! 한글로 번역하면, 이것은 검볼머신 컨트롤로가 필요로 하는 다어그램이다. 우리는 미래에 어떤 행동이 추가 될것인지 미리 생각을 해야 한다. 그래서 최대한 유동적이고 유지가 쉽도록 구조를 만들어야 한다. 위를 잘보면 동전을 투입한 후, 손잡이를 돌린다. 돌리면, 알맹이가 있으면 판매를 하고 알맹이의 갯수를 확인한다. 알맹이의 갯수가 0이라면, 매진처리가 된다. 이 다이어그램은 스테이트 다이어그램으로 볼 수 있다. 각각의 동그라미가 State가 된다. ..