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

[ProductInfo] 테스트 네트워킹 작업 #46

Merged
merged 12 commits into from
Feb 19, 2024
Merged

Conversation

eung7
Copy link
Contributor

@eung7 eung7 commented Feb 10, 2024

Screenshots 📸

Name
(image here)



고민, 과정, 근거 💬

  • UI바인딩을 하는 것 까지는 PR이 너무 커질 우려로 다음 PR떄 작업하겠습니다.
    • UI와 관련된 파일들은 일단 리뷰하지 않아주셔도 됩니다! 조금 간소화를 더 시켜야 할 것 같아서요~!
  • ProductInfo와 관련된 네트워킹 작업을 실질적으로 ViewModel을 통해서 작업했습니다.

의견이 있습니다! 👻

구현하다보니, ViewModel의 큰 구조는 거의 동일할 것 같다는 생각이 듭니다.
그래서 모든 ViewModel의 근원이 되는 ViewModelRepresentable을 구현하고 적용하려고 시도했지만
연쇄적으로 많이 손을 봐야하더라고요.. DI 관련해서 생각할 것도 많고요.. ㅜㅜ

그래서 현재 ProductInfoViewModelRepresentable 프로토콜은 거의 HomeViewModelRepresentable과 거의 동일한 상태입니다.
물론 추후 더 추가되어서 두 개 사이의 차이점이 생길 수 있겠습니다만..
래퍼런스를 찾아보다보니 TCA까지 얼떨결에 공부하게 됐네요. 😂

여러분들의 의견이 궁금합니다! 🥸



References 📋




@eung7 eung7 added 🛜 Network Networking 🏪 Products Products View labels Feb 10, 2024
@eung7 eung7 added this to the v2.0.0 milestone Feb 10, 2024
@eung7 eung7 requested a review from a team February 10, 2024 11:30
@eung7 eung7 self-assigned this Feb 10, 2024
@WhiteHyun
Copy link
Member

CI 통과되면 그 때 리뷰하겠습니다. ☺️
지금 리뷰한다 해도 CI를 수정하는 커밋을 남기면, 기존 리뷰는 무시되어버려서요.

@eung7
Copy link
Contributor Author

eung7 commented Feb 15, 2024

CI 통과 되었습니다!
면접 보시느라 수고하셨어요..! 😁

Copy link
Member

@WhiteHyun WhiteHyun left a comment

Choose a reason for hiding this comment

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

고생하셨습니다!

구현하다보니, ViewModel의 큰 구조는 거의 동일할 것 같다는 생각이 듭니다.
그래서 모든 ViewModel의 근원이 되는 ViewModelRepresentable을 구현하고 적용하려고 시도했> 지만
연쇄적으로 많이 손을 봐야하더라고요.. DI 관련해서 생각할 것도 많고요.. ㅜㅜ

그래서 현재 ProductInfoViewModelRepresentable 프로토콜은 거의 > HomeViewModelRepresentable과 거의 동일한 상태입니다.
물론 추후 더 추가되어서 두 개 사이의 차이점이 생길 수 있겠습니다만..
래퍼런스를 찾아보다보니 TCA까지 얼떨결에 공부하게 됐네요. 😂

여러분들의 의견이 궁금합니다! 🥸

TCA까지 공부하셨군요! 대단하십니다 :)

아마 ViewModel의 구조는 그대로 가져가는 방향이 될 수 밖에 없을 것 같아요.
각자의 ViewModel의 구조가 다르면 오히려 일관성에 떨어질 것 같다는 생각이 드네요.
여기서 ViewModel을 통일시키기에는 어려움이 따를 것 같아서, 완성 이후에 어떻게 통일하면 좋을지 논의해보는 것도 좋다고 생각합니다!

Entity/Sources/Entity/ProductDetail.swift Outdated Show resolved Hide resolved
- productID 프로퍼티 삭제
@eung7 eung7 requested a review from WhiteHyun February 18, 2024 02:52
WhiteHyun
WhiteHyun previously approved these changes Feb 18, 2024
Entity/Sources/Entity/ProductDetail.swift Outdated Show resolved Hide resolved
@eung7
Copy link
Contributor Author

eung7 commented Feb 18, 2024

// MARK: - ProductInfoState

struct ProductInfoState {
  var product: ProductDetail = mockProduct
  var previousProducts: [ProductDetail] = []
}

private let mockProduct = ProductDetail(
  id: 0,
  imageURL: nil,
  price: 0,
  name: "",
  promotion: .allItems,
  convenienceStore: ._7Eleven
)

@WhiteHyun
혹시 이런 전역으로 빼는 방식은 어떠신가요?

Copy link
Member

@WhiteHyun WhiteHyun left a comment

Choose a reason for hiding this comment

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

네 그렇게 가시죠!

@eung7 eung7 merged commit 0bbb4fb into main Feb 19, 2024
2 checks passed
@eung7 eung7 deleted the feature/productinfo/45 branch February 19, 2024 07:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🛜 Network Networking 🏪 Products Products View
Projects
Development

Successfully merging this pull request may close these issues.

행사 제품의 ViewModel을 구현한다.
2 participants