Skip to content

Conversation

@cchanmi
Copy link
Member

@cchanmi cchanmi commented Oct 19, 2023

🌱 작업한 내용

image

화면 전환 flow의 책임만 맡으면 되는 coordinator에서 viewcontroller에서의 user action까지 알게 되는 문제가 발생하였고, 그로인한 관심사 분리를 위해 adaptor pattern을 적용하게 되었습니다.

추가로 adaptor를 생성해 주는 로직을 기존의 factory 패턴에 추가함으로써, 생성 로직 또한 분리했습니다. 이 내용은 PR에서 놓친 부분이라 따로 커밋으로 작업했어요. -> [HOTFIX] My Pasge, Article Adator 생성 로직 분리

🌱 PR Point

  • 기존의 방식은 viewcontroller -> coordinator로 이어지는 depth였고, 화면 전환 flow에 대한 변경 사항이 생겼을 때, coordinator에서의 코드 수정이 필요했습니다. depth가 더 낮은 바깥쪽 레이어가 변하지 않고, depth가 더 높은 coordinator가 변화에 민감하다는 것이 옳은 방향이 아니라고 생각했습니다.
  • adaptor pattern 도입 후, viewcontroller -> adaptor -> coordinator depth를 가지게 되었고, 화면 전환 flow에 대한 변경 사항은 adaptor에서 처리하게 됩니다. 그로인해 coodinator는 기존의 user action에 대해 알 필요 없이, 화면 전환 flow에만 책임을 가질 수 있게 되었습니다.
  • 변화가 생겼을 때에도 adaptor에서 수정을 하거나 새로운 adaptor를 생성해 주면 되기 때문에 보다 더 유연한 설계를 할 수 있게 되었습니다.
  • 다만, 기존 프로젝트 방식에서 adaptor pattern 도입의 필요성을 느끼는 데에 어려움이 있었고, 프로젝트 특성이 맞게 납득 갈만한 이유가 충분하다면 적용하는 것이 좋을 것 같다고 판단이 들었습니다. ㅠ___ㅠ

📮 관련 이슈

@cchanmi cchanmi merged commit 102b285 into main Oct 19, 2023
@kimscastle kimscastle changed the title [REFACTOR] - My Page, Article Detail Coordinator에 Adaptor Pattern 적용 (#159) [REFACTOR] My Page, Article Detail Coordinator에 Adaptor Pattern 적용 (#159) Oct 19, 2023
@kimscastle kimscastle added 🦁찬미 찬미's ♻️Refactoring 리펙터링 labels Oct 19, 2023
@ffalswo2 ffalswo2 deleted the REFACTOR/#159-adaptor branch October 19, 2023 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

♻️Refactoring 리펙터링 🦁찬미 찬미's

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[REFACTOR] My Page, Article, Today Coordinator에 Adaptor Pattern 적용

4 participants