coordinator의 장점 중 하나는 화면 전환 로직을 재사용할 수 있다는 것입니다. 새싹 마켓에서는 Detail View를 Search View와 Favorite View에서 접근할 수 있습니다. Search Coordinator와 Favorite Coordinator에서 Detail View로 화면 전환하는 코드를 똑같이 반복하고 있었습니다.
DetailCoordinatorable protocol을 만들고 pushToDetail(product:) 제약사항을 추가했습니다.
DetailCoordinatorable extension의 pushToDetail(product:)의 구현부에 Search Coordinator와 Favorite Coordinator에서 반복되는 로직을 작성했습니다.
Search Coordinator와 Favorite Coordinator 에서 DetailCoordinatorable을 채택해 Detail View로 화면 전환하는 로직을 재사용 가능하게 했습니다.