-
Notifications
You must be signed in to change notification settings - Fork 8
Architecture
전종현 edited this page May 29, 2024
·
3 revisions

- MVVM Pattern (View - ViewModel - Model)
- UseCases
- Repository Pattern (Repository - DataSource)
- Get It
@startuml
'[UseCase]
'로그인, 회원가입 화면
interface SignInUserUseCase {
}
interface SignUpUserUseCase {
}
'홈화면
interface GetHomeWeatherUseCase {
}
interface GetHomeLocationUseCase {
}
interface GetRecommendedFeedsUseCase {
}
interface GetHomeImageUseCase {
}
interface RefreshHomeUseCase {
}
RefreshHomeUseCase <|.. GetHomeWeatherUseCase
RefreshHomeUseCase <|.. GetHomeLocationUseCase
RefreshHomeUseCase <|.. GetRecommendedFeedsUseCase
'OOTD 피드화면
interface GetOOTDFeedsUseCase {
}
'OOTD 상세화면
interface GetDetailFeedDetailUseCase {
}
interface GetDetailUserProfileUseCase {
}
'검색화면
interface GetSearchFeedsUseCase {
}
'마이페이지 화면
interface GetMyPageUserProfileUseCase {
}
interface GetMyPageFeedsUseCase {
}
interface RemoveMyPageFeedUseCase {
}
'유저페이지 화면
interface GetUserPageUserProfileUseCase {
}
interface GetUserPageFeedsUseCase {
}
interface RefreshUserPageUseCase {
}
RefreshUserPageUseCase <|.. GetUserPageUserProfileUseCase
RefreshUserPageUseCase <|.. GetUserPageFeedsUseCase
'사진 크롭 화면
interface SaveCroppedImageUseCase {
}
interface SaveOriginImageUseCase {
}
interface GetOriginImageUseCase {
}
'OOTD 작성 화면
interface GetCroppedImageUseCase {
}
interface GetEditWeatherUseCase {
}
interface GetEditLocationUseCase {
}
interface SaveEditFeedUseCase {
}
interface UndoEditCroppedImageUseCase {
}
'앱 설정 화면
interface SignOutSettingUseCase {
}
interface LogOutSettingUseCase {
}
'스플래시 화면 (홈화면꺼 훔쳐쓰기)
'[Repository]
' Weather
interface WeatherRepository {
}
' Location
interface LocationRepository {
}
' Feed
interface FeedRepository {
}
' User
interface UserRepository {
}
' UserProfile
interface UserProfileRepository {
}
' UserAuth
interface UserAuthRepository {
}
@enduml@startuml
' DataSource
interface LocalWeatherDataSource {
}
interface RemoteWeatherDataSource {
}
interface LocalLocationDataSource {
}
interface RemoteLocationDataSource {
}
interface LocalFeedDataSource {
}
interface RemoteFeedDataSource {
}
interface LocalUserDataSource {
}
interface RemoteUserDataSource {
}
interface LocalUserProfileDataSource {
}
interface RemoteUserProfileDataSource {
}
interface LocalUserAuthDataSource {
}
interface RemoteUserAuthDataSource {
}
@enduml