Skip to content

모듈간 순환 의존을 방지할 인터페이스 추가 #145

@0Hooni

Description

@0Hooni

🤔 작업 배경

현재는 SearchFeature만 별도의 모듈로 나와있는 상황입니다.

검색화면에서는 팝업 상세화면에 가기 위해 Presentation 모듈 의존성이 필요했고, Presentation은 상단 검색바를 통해 SearchFeature 모듈 의존성이 필요했습니다.

하지만 이렇게 되면 두 모듈간의 순환 의존이 발생하게 됩니다.

그래서 두 모듈간 직접적으로 의존하지 않으면서도 두 모듈의 ViewController를 띄워줄 방법이 필요했습니다.

이를 위해 Factory패턴을 적용하게 되었습니다. Coordinator 패턴과 고민을 했던 부분은 노션에 자세히 언급해두었으니 참고해주시면 감사하겠습니다.

Factory 패턴을 사용하면서 각 모듈은 별도의 Interface 프레임워크를 갖게 되고, 인터페이스에서는 그저 어떠한 ViewController를 만들지에 대한 정의만 해두었습니다.

인터페이스를 의존하는 모듈에서는 단순히 이 프로토콜을 호출하게 되고, 앱에서 주입한 DIContainter의 의존성을 이용하여 구체적인 View를 구현하도록 하였습니다.

📝 작업 내용

  • Factory 패턴 적용
  • Interface 구현

Metadata

Metadata

Assignees

Labels

🔄 refactor프로덕션 코드 리팩토링, 파일 삭제, 네이밍 수정 및 폴더링

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions