Model 설계
Boxing Timer에서 Model의 역할은 다음과 같다.
- 정해진 시간을 내려 센다. 3분을 내려 센 후, 종료하면 30초를 내려 센다. 이것을 멈추기 전까지 반복한다.
- 매 초마다 변경된 시간을 알린다.
- 시간이 0이 되었다고 알린다.
시간을 알리는 것은 Protocol을 이용한다.
Model 구현
대략 다음의 인터페이스를 구현했다.
- 시간 알림 Protocol을 구현한 Observer 등록
- 타이머 시작
- 타이머 멈춤
- 타이머 시간 초기화
여기까지 작업한 소스는 Github에 올려두었다.