Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Setting] #126 - Inject 의존성 추가 #132

Merged
merged 1 commit into from
Mar 21, 2023

Conversation

L-j-h-c
Copy link
Contributor

@L-j-h-c L-j-h-c commented Mar 20, 2023

🌴 PR 요약

🌱 작업한 브랜치

🌱 PR Point

Inject 의존성을 추가했습니다.

📌 사용 방법

  1. App Store에서 Injection III를 다운받습니다.

  2. Open Project에서 워크스페이스 파일이 있는 경로를 지정합니다.

image

  1. Inject.ViewControllerHost로 InjectViewController를 생성합니다.

스크린샷 2023-03-20 오후 2 28 19

  1. 시뮬레이터 실행 후, 변경 사항을 입력한 뒤 저장(cmd + s)합니다.

영상

2023-03-20.2.26.26.mov

의견

  • Deom App에서 Feature 단위로 사용하는 것이 가장 바람직할 것 같습니다.

    • BaseFeatureDependency에 있는 ViewControllable의 viewController 프로퍼티에 if debug로 분기하여 debug의 경우에만 Inject를 실행하도로 했습니다. 그러나 Inject 설정이 된 뷰컨트롤러 간의 화면전환이 불완전했습니다.
    • If Debug를 통해 분기할 수 있지만, 모든 화면이 Inject에 의존성을 가지게 하기 보다는, Demo에서만 Inject.ViewControllerHost를 호출하는 것이 좋아 보입니다.
  • Demo에서 원활하게 디버깅을 하기 위해서 Data 모듈에 있는 Repository의 구현체를 가져와야 합니다.

      1. 각 Feature의 Demo에서만 Data를 의존하여 각 Demo가 의존성을 가지고 오도록 할 수 있을 것 같습니다.
      1. Data Module을 아예 BaseFeatureDependency의 아래에 둘 수 있습니다. 모듈화를 통한 의존성 관리의 의미가 퇴색된다는 단점이 있습니다. 트레이드오프를 생각하고 결정하면 좋을 것 같아요.

남은 작업들

  1. xcconfigs를 통해 빌드 세팅을 분기하고 test 환경을 설정해야 합니다.
  2. release에서 필요하지 않은 의존성을 제거해야 합니다.

📮 관련 이슈

@L-j-h-c L-j-h-c requested a review from a team March 20, 2023 05:46
@L-j-h-c L-j-h-c self-assigned this Mar 20, 2023
@L-j-h-c L-j-h-c requested review from elesahich, 0inn and lsj8706 and removed request for a team March 20, 2023 05:46
@devxsby devxsby self-requested a review March 20, 2023 08:03
Copy link
Member

@lsj8706 lsj8706 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inject 궁금했었는데 이번에 사용해 볼 수 있겠네요! 감사합니다~~!

Copy link
Member

@devxsby devxsby left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

의견

Deom App에서 Feature 단위로 사용하는 것이 가장 바람직할 것 같습니다.

  • BaseFeatureDependency에 있는 ViewControllable의 viewController 프로퍼티에 if debug로 분기하여 debug의 경우에만 Inject를 실행하도로 했습니다. 그러나 Inject 설정이 된 뷰컨트롤러 간의 화면전환이 불완전했습니다.
  • If Debug를 통해 분기할 수 있지만, 모든 화면이 Inject에 의존성을 가지게 하기 보다는, Demo에서만 Inject.ViewControllerHost를 호출하는 것이 좋아 보입니다.

Demo에서 원활하게 디버깅을 하기 위해서 Data 모듈에 있는 Repository의 구현체를 가져와야 합니다.

  • 각 Feature의 Demo에서만 Data를 의존하여 각 Demo가 의존성을 가지고 오도록 할 수 있을 것 같습니다.
  • Data Module을 아예 BaseFeatureDependency의 아래에 둘 수 있습니다. 모듈화를 통한 의존성 관리의 의미가 퇴색된다는 단점이 있습니다. 트레이드오프를 생각하고 결정하면 좋을 것 같아요.

의견 주신 부분 동의합니다!
데모에서 피쳐별로 적용하고 Data ModuleBaseFeatureDependency의 아래에 두지 않는 방향으로 하는 게 더 좋아보여요..!
고생 많으셨습니다 ~~ 감사합니다 ! 🙇🏻‍♀️

@0inn
Copy link
Contributor

0inn commented Mar 21, 2023

스유 같고 매우 좋네요 . . 👍🏻

Demo에서 원활하게 디버깅을 하기 위해서 Data 모듈에 있는 Repository의 구현체를 가져와야 합니다.

    1. 각 Feature의 Demo에서만 Data를 의존하여 각 Demo가 의존성을 가지고 오도록 할 수 있을 것 같습니다.
    1. Data Module을 아예 BaseFeatureDependency의 아래에 둘 수 있습니다. 모듈화를 통한 의존성 관리의 의미가 퇴색된다는 단점이 있습니다. 트레이드오프를 생각하고 결정하면 좋을 것 같아요.

2번 방식으로 고민한다면 승호님이 의견주셨던 방식도 함께 고민하며 적용할 수 있을 것 같은데
저번에 말한대로 한 번 더 구조 리팩을 가져갈거라면 고민해서 적용하고 아니라면 Demo에만 의존하게 하는 게 나을 것 같네요 !

Copy link
Contributor

@elesahich elesahich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저두 빌드해 보고 싶네요!!!!! 준호 작업 감사합니다~ 덕분에 재밌는 것 써 보겠습니다!

Deom App에서 Feature 단위로 사용하는 것이 가장 바람직할 것 같습니다.

동의합니다! 늦어서 죄송합니다~!!! 🙏🙏

@L-j-h-c L-j-h-c merged commit cd3c408 into sopt-makers:develop Mar 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Setting] Inject 의존성 추가
5 participants