본문 바로가기

상태 기계 다이어그램3

UML - 상태 기계 다이어그램 - 구현 - 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 상태 다이어그램의 구현 상태 다이어그램을 구현하는 방법은 크게 내장 스위치, 상태 패턴, 상태 표 세 가지가 있다. 상태 기계 다이어그램 가장 초반에 그린 아래 다이어그램을 가지고 각 방식으로 구현한 예제를 살펴보도록 하자. - 내장 스위치 가장 직접적이고 간단한 방법이다. 하지만 간단한 상태 다이어그램도 이 방식으로 구현하면 장황해지는 단점이 있다. public enum PanelState { WAIT, OPEN, LOCKED, FINAL } public enum PanelEvent { CANDLE_MOVED, KEY_TURNED, SELF_CLOSED } public class StateController { pri.. 2021. 2. 12.
UML - 상태 기계 다이어그램 - 내부 액티비티와 상태 - 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 상위 상태: https://8thlight.com/blog/micah-martin/2007/04/07/understanding-statemachines-part-4-superstates.html - 내부 액티비티 이전글에 상태 기계 다이어그램에서는 기본적인 요소들과 주로 상태간의 전이를 중심으로 알아보았다.(ocwokocw.tistory.com/67?category=844459) 전이를 통한 상태변화가 대부분의 경우겠지만 이벤트 발생시 전이 없이 반응하는 경우도 있다. 이때 내부 액티비티(internal activity)를 사용하는데, 상태 상자 속에 이벤트, 가드, 액티비티를 넣는다. 위의 그림은 문자 입력과 도움말에.. 2021. 2. 12.
UML - 상태 기계 다이어그램 - 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 상태 기계 다이어그램(State Machine Diagrams) 상태 기계 다이어그램은 시스템의 행동을 기술한다. 객체 지향 접근법에서 단일 객체가 활성인 시간동안 어떤 행동을 하는지 나타내기 위해서 단일 클래스에 대해 그리는 다이어그램이다. 아래와 같은 시나리오에 대해 해보자. 금고 자물쇠를 보려면 비밀 양초를 촛대에서 옮겨야 한다. 그리고 문이 닫혀있어야만 자물쇠가 나타난다. 일단 자물쇠가 나타나면 금고를 열기 위해서 열쇠를 꽂는다. 추가적인 안전장치로, 양초를 다시 그 자리에 놓아야만 금고를 열 수가 있다. 만약 도둑이 이 경고를 무시하면 괴물을 풀어서 도둑을 잡아먹도록 한다. 각 문장 단위로 이해하기에는 큰 어려.. 2021. 2. 11.