[우테코 7기 프리코스 2주 차] 옵저버 패턴
2주 차 과제인 자동차 경주 게임을 진행하며, 매 라운드(이동 시도)마다 자동차의 위치를 출력해야 한다는 요구 사항이 있었다. 이를 반영하면서 생긴 고민들을 기록해보고자 한다. 매 라운드마다 자동차의 위치를 출력하라. 처음엔, 직관적으로 라운드가 끝날 때 Cars 클래스(일급 컬렉션)의 멤버 변수인 Car 리스트를 순회하며, 각 Car 클래스에서 OutputHandler 클래스의 출력 메서드를 호출하는 방법을 생각했다. 하지만 이 경우 Car 클래스가 OutputHandler 클래스에 의존하는 것이 불편하게 느껴졌다. OutputHandler를 정적 클래스로 두지 않고 객체로 관리하고 싶었기 때문에 이러한 의존성이 형성되는 것은 피할 수 없었다. 그렇다면 반대로 OutputHandler 클래스가 ..
2024.10.30