Swift 언어
프로토콜 지향 프로그래밍
팀원이 BaseViewModel 클래스를 만들고 모든 화면이 이를 상속하도록 하자고 합니다. 프로토콜 지향 방식으로 대안을 제안한다면 어떻게 설계하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
팀원이 BaseViewModel 클래스를 만들고 모든 화면이 이를 상속하도록 하자고 합니다. 프로토콜 지향 방식으로 대안을 제안한다면 어떻게 설계하겠습니까?
공통 기능을 역할별 프로토콜 + 기본 구현(extension)으로 쪼개 각 뷰모델이 필요한 것만 조합해 채택하게 설계한다.