Refactor/network service abstraction#76
Conversation
- NetworkService 프로토콜 도입, MoyaNetworkService로 Moya 캡슐화 - Feature Data 모듈 11개에서 import Moya 완전 제거 - AppDIContainer/CompositionRoot를 NetworkService 기반으로 전환 - BrandDetailView 이미지 비율 유지 (scaledToFill + overlay 패턴) - KFImage 다운샘플링 크기 최적화 (표시 크기 × scale로 통일) - BookmarkCard scaledToFill 누락 수정 - NewletterRow/NewsletterDetailRow 중복 onFailure 제거 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request implements a major architectural shift from horizontal layers to vertical slices by decomposing the monolithic Domain and Data modules into feature-specific sub-targets. It also introduces a NetworkService abstraction to decouple repositories from Moya and optimizes image downsampling across various views. Feedback was provided to re-add removed .onFailure handlers for KFImage in the Explore feature to ensure a consistent user experience when image loading fails.
| .placeholder { | ||
| // 로딩 중 표시 | ||
| RoundedRectangle(cornerRadius: 10) | ||
| .fill(Color.gray.opacity(0.2)) | ||
| .frame(width: 56, height: 56) | ||
| } |
There was a problem hiding this comment.
The .onFailure handler for KFImage was removed. This could lead to a poor user experience if an image fails to load, as there is no longer a custom failure placeholder. Please consider re-adding it to provide a fallback view for when the image fails to load.
| .placeholder { | |
| // 로딩 중 표시 | |
| RoundedRectangle(cornerRadius: 10) | |
| .fill(Color.gray.opacity(0.2)) | |
| .frame(width: 56, height: 56) | |
| } | |
| .placeholder { | |
| RoundedRectangle(cornerRadius: 10) | |
| .fill(Color.gray.opacity(0.2)) | |
| .frame(width: 56, height: 56) | |
| } | |
| .onFailure { _ in | |
| Image(systemName: "photo") | |
| .font(.system(size: 24)) | |
| .foregroundColor(Color.gray.opacity(0.5)) | |
| .frame(width: 56, height: 56) | |
| .background(Color.gray.opacity(0.1)) | |
| .clipShape(RoundedRectangle(cornerRadius: 10)) | |
| } |
| .placeholder { | ||
| // 로딩 중 표시 | ||
| RoundedRectangle(cornerRadius: 10) | ||
| .fill(Color.gray.opacity(0.2)) | ||
| .frame(width: 56, height: 56) | ||
| } |
There was a problem hiding this comment.
The .onFailure handler for KFImage was removed. This could lead to a poor user experience if an image fails to load, as there is no longer a custom failure placeholder. Please consider re-adding it to provide a fallback view for when the image fails to load.
| .placeholder { | |
| // 로딩 중 표시 | |
| RoundedRectangle(cornerRadius: 10) | |
| .fill(Color.gray.opacity(0.2)) | |
| .frame(width: 56, height: 56) | |
| } | |
| .placeholder { | |
| RoundedRectangle(cornerRadius: 10) | |
| .fill(Color.gray.opacity(0.2)) | |
| .frame(width: 56, height: 56) | |
| } | |
| .onFailure { _ in | |
| Image(systemName: "photo") | |
| .font(.system(size: 24)) | |
| .foregroundColor(Color.gray.opacity(0.5)) | |
| .frame(width: 56, height: 56) | |
| .background(Color.gray.opacity(0.1)) | |
| .clipShape(RoundedRectangle(cornerRadius: 10)) | |
| } |
No description provided.