swift 디자인 패턴 - 템플릿 메서드 패턴
swift 디자인 패턴 - 템플릿 메서드 패턴 학습목표 공통 코드의 재사용 방법을 부분적으로 이해하기 여러회사의 모터 지원하기 현대모터를 이용해서 엘리베이터를 제어하는 시스템이라면 HyundaiMotor 클래스에 move 메서드를 정의할 수 있다. HyundaiMotor 클래스는 move 메서드를 실행할 때 안전을 위해 문(Door 클래스)이 닫혀 있는지 조사 할 필요가 있다. 따라서 HyundaiMotor 클래스에서 Door 클래스로의 연관 관계를 정의했다. 또한 엘리베이터가 이동 중이면 모터를 구동시킬 필요가 없다. MotorStatus, DoorStatus, Direction은 Enumeration 으로 각각 모터의 상태 (정지 중, 이동 중) , 문의상태 (닫힘상태, 열림상태) , 이동 방향(위,..