From 5d38bac79ecd64ae9846a359d351aeeb02c2d214 Mon Sep 17 00:00:00 2001 From: JiWoong Sul Date: Mon, 30 Mar 2026 20:39:05 +0900 Subject: [PATCH] =?UTF-8?q?refactor(arch):=20ad=5Fservice,=20iap=5Fservice?= =?UTF-8?q?=EB=A5=BC=20core/infrastructure/=EB=A1=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - core/engine/ → core/infrastructure/ (프레임워크 오염 제거) - 18개 파일 import 경로 업데이트 - CLAUDE.md 디렉토리 구조 반영 --- CLAUDE.md | 1 + lib/src/app.dart | 4 ++-- lib/src/core/di/i_ad_service.dart | 2 +- lib/src/core/di/i_iap_service.dart | 2 +- lib/src/core/di/service_locator.dart | 4 ++-- lib/src/core/engine/character_roll_service.dart | 4 ++-- lib/src/core/engine/debug_settings_service.dart | 2 +- lib/src/core/engine/return_rewards_service.dart | 4 ++-- lib/src/core/{engine => infrastructure}/ad_service.dart | 2 +- lib/src/core/{engine => infrastructure}/iap_service.dart | 0 lib/src/features/game/game_play_screen.dart | 2 +- lib/src/features/game/game_session_controller.dart | 2 +- lib/src/features/game/managers/resurrection_manager.dart | 4 ++-- lib/src/features/game/managers/speed_boost_manager.dart | 4 ++-- lib/src/features/game/widgets/return_rewards_dialog.dart | 2 +- lib/src/features/game/widgets/speed_boost_button.dart | 2 +- lib/src/features/new_character/new_character_screen.dart | 2 +- lib/src/features/new_character/widgets/stats_section.dart | 2 +- 18 files changed, 23 insertions(+), 22 deletions(-) rename lib/src/core/{engine => infrastructure}/ad_service.dart (99%) rename lib/src/core/{engine => infrastructure}/iap_service.dart (100%) diff --git a/CLAUDE.md b/CLAUDE.md index 9e85213..da778b9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -55,6 +55,7 @@ lib/ │ │ ├── story_service.dart # 스토리 진행 │ │ └── ... # 기타 서비스 │ ├── model/ # 게임 상태 및 데이터 모델 + │ ├── infrastructure/ # 외부 서비스 (광고, IAP 등) │ ├── audio/ # 오디오 서비스 │ ├── storage/ # 세이브/설정 저장소 │ ├── notification/ # 알림 서비스 diff --git a/lib/src/app.dart b/lib/src/app.dart index b6b270e..3ea1b0c 100644 --- a/lib/src/app.dart +++ b/lib/src/app.dart @@ -3,9 +3,9 @@ import 'package:flutter/material.dart'; import 'package:asciineverdie/data/game_text_l10n.dart' as game_l10n; import 'package:asciineverdie/l10n/app_localizations.dart'; import 'package:asciineverdie/src/core/audio/audio_service.dart'; -import 'package:asciineverdie/src/core/engine/ad_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/ad_service.dart'; import 'package:asciineverdie/src/core/engine/debug_settings_service.dart'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; import 'package:asciineverdie/src/app_theme.dart'; import 'package:asciineverdie/src/splash_screen.dart'; import 'package:asciineverdie/src/core/engine/game_mutations.dart'; diff --git a/lib/src/core/di/i_ad_service.dart b/lib/src/core/di/i_ad_service.dart index fdc3fcb..0f6c65c 100644 --- a/lib/src/core/di/i_ad_service.dart +++ b/lib/src/core/di/i_ad_service.dart @@ -1,4 +1,4 @@ -import 'package:asciineverdie/src/core/engine/ad_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/ad_service.dart'; /// 광고 서비스 인터페이스 (interface) /// diff --git a/lib/src/core/di/i_iap_service.dart b/lib/src/core/di/i_iap_service.dart index 8fe6114..a3b409e 100644 --- a/lib/src/core/di/i_iap_service.dart +++ b/lib/src/core/di/i_iap_service.dart @@ -1,4 +1,4 @@ -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; /// IAP 서비스 인터페이스 (interface) /// diff --git a/lib/src/core/di/service_locator.dart b/lib/src/core/di/service_locator.dart index 14e6441..9bb2d6a 100644 --- a/lib/src/core/di/service_locator.dart +++ b/lib/src/core/di/service_locator.dart @@ -2,8 +2,8 @@ import 'package:get_it/get_it.dart'; import 'package:asciineverdie/src/core/di/i_ad_service.dart'; import 'package:asciineverdie/src/core/di/i_iap_service.dart'; -import 'package:asciineverdie/src/core/engine/ad_service.dart'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/ad_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; /// 전역 서비스 로케이터(service locator) 인스턴스 final GetIt sl = GetIt.instance; diff --git a/lib/src/core/engine/character_roll_service.dart b/lib/src/core/engine/character_roll_service.dart index 5037a63..4a66bac 100644 --- a/lib/src/core/engine/character_roll_service.dart +++ b/lib/src/core/engine/character_roll_service.dart @@ -1,8 +1,8 @@ import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:asciineverdie/src/core/engine/ad_service.dart'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/ad_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; import 'package:asciineverdie/src/core/model/game_state.dart'; /// 캐릭터 생성 굴리기/되돌리기 서비스 diff --git a/lib/src/core/engine/debug_settings_service.dart b/lib/src/core/engine/debug_settings_service.dart index adf257d..2e1c20a 100644 --- a/lib/src/core/engine/debug_settings_service.dart +++ b/lib/src/core/engine/debug_settings_service.dart @@ -1,7 +1,7 @@ import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; /// 디버그 설정 서비스 (Phase 8) /// diff --git a/lib/src/core/engine/return_rewards_service.dart b/lib/src/core/engine/return_rewards_service.dart index 498ae62..35869b2 100644 --- a/lib/src/core/engine/return_rewards_service.dart +++ b/lib/src/core/engine/return_rewards_service.dart @@ -1,8 +1,8 @@ import 'package:flutter/foundation.dart'; -import 'package:asciineverdie/src/core/engine/ad_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/ad_service.dart'; import 'package:asciineverdie/src/core/engine/chest_service.dart'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; import 'package:asciineverdie/src/core/model/treasure_chest.dart'; /// 복귀 보상 서비스 (Phase 7) diff --git a/lib/src/core/engine/ad_service.dart b/lib/src/core/infrastructure/ad_service.dart similarity index 99% rename from lib/src/core/engine/ad_service.dart rename to lib/src/core/infrastructure/ad_service.dart index 6aced96..f5161c4 100644 --- a/lib/src/core/engine/ad_service.dart +++ b/lib/src/core/infrastructure/ad_service.dart @@ -8,7 +8,7 @@ import 'package:google_mobile_ads/google_mobile_ads.dart'; import 'package:get_it/get_it.dart'; import 'package:asciineverdie/src/core/di/i_ad_service.dart'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; /// 광고 타입 enum AdType { diff --git a/lib/src/core/engine/iap_service.dart b/lib/src/core/infrastructure/iap_service.dart similarity index 100% rename from lib/src/core/engine/iap_service.dart rename to lib/src/core/infrastructure/iap_service.dart diff --git a/lib/src/features/game/game_play_screen.dart b/lib/src/features/game/game_play_screen.dart index 3d345a9..e260813 100644 --- a/lib/src/features/game/game_play_screen.dart +++ b/lib/src/features/game/game_play_screen.dart @@ -4,7 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart' show SchedulerBinding, SchedulerPhase; import 'package:asciineverdie/data/game_text_l10n.dart' as game_l10n; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; import 'package:asciineverdie/src/core/model/treasure_chest.dart'; import 'package:asciineverdie/data/story_data.dart'; import 'package:asciineverdie/l10n/app_localizations.dart'; diff --git a/lib/src/features/game/game_session_controller.dart b/lib/src/features/game/game_session_controller.dart index 3d0063c..3665452 100644 --- a/lib/src/features/game/game_session_controller.dart +++ b/lib/src/features/game/game_session_controller.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; import 'package:asciineverdie/src/core/engine/progress_loop.dart'; import 'package:asciineverdie/src/core/engine/progress_service.dart'; import 'package:asciineverdie/src/core/model/game_state.dart'; diff --git a/lib/src/features/game/managers/resurrection_manager.dart b/lib/src/features/game/managers/resurrection_manager.dart index 687e33d..c38ad83 100644 --- a/lib/src/features/game/managers/resurrection_manager.dart +++ b/lib/src/features/game/managers/resurrection_manager.dart @@ -1,5 +1,5 @@ -import 'package:asciineverdie/src/core/engine/ad_service.dart'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/ad_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; import 'package:asciineverdie/src/core/engine/resurrection_service.dart'; import 'package:asciineverdie/src/core/engine/shop_service.dart'; import 'package:asciineverdie/src/core/model/game_state.dart'; diff --git a/lib/src/features/game/managers/speed_boost_manager.dart b/lib/src/features/game/managers/speed_boost_manager.dart index 2c51861..bbfa701 100644 --- a/lib/src/features/game/managers/speed_boost_manager.dart +++ b/lib/src/features/game/managers/speed_boost_manager.dart @@ -1,5 +1,5 @@ -import 'package:asciineverdie/src/core/engine/ad_service.dart'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/ad_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; import 'package:asciineverdie/src/core/engine/progress_loop.dart'; import 'package:asciineverdie/src/core/model/monetization_state.dart'; import 'package:flutter/foundation.dart'; diff --git a/lib/src/features/game/widgets/return_rewards_dialog.dart b/lib/src/features/game/widgets/return_rewards_dialog.dart index 6007a12..088ddbf 100644 --- a/lib/src/features/game/widgets/return_rewards_dialog.dart +++ b/lib/src/features/game/widgets/return_rewards_dialog.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:asciineverdie/data/game_text_l10n.dart' as l10n; import 'package:asciineverdie/data/potion_data.dart'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; import 'package:asciineverdie/src/core/engine/return_rewards_service.dart'; import 'package:asciineverdie/src/core/model/item_stats.dart'; import 'package:asciineverdie/src/core/model/treasure_chest.dart'; diff --git a/lib/src/features/game/widgets/speed_boost_button.dart b/lib/src/features/game/widgets/speed_boost_button.dart index e870dd1..903951f 100644 --- a/lib/src/features/game/widgets/speed_boost_button.dart +++ b/lib/src/features/game/widgets/speed_boost_button.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:asciineverdie/data/game_text_l10n.dart' as l10n; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; import 'package:asciineverdie/src/shared/retro_colors.dart'; /// 속도 부스트 버튼 위젯 (Phase 6) diff --git a/lib/src/features/new_character/new_character_screen.dart b/lib/src/features/new_character/new_character_screen.dart index 0db56ab..03b9fa5 100644 --- a/lib/src/features/new_character/new_character_screen.dart +++ b/lib/src/features/new_character/new_character_screen.dart @@ -8,7 +8,7 @@ import 'package:asciineverdie/data/game_text_l10n.dart' as game_l10n; import 'package:asciineverdie/data/race_data.dart'; import 'package:asciineverdie/l10n/app_localizations.dart'; import 'package:asciineverdie/src/core/engine/character_roll_service.dart'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; import 'package:asciineverdie/src/core/model/class_traits.dart'; import 'package:asciineverdie/src/core/model/game_state.dart'; import 'package:asciineverdie/src/core/model/race_traits.dart'; diff --git a/lib/src/features/new_character/widgets/stats_section.dart b/lib/src/features/new_character/widgets/stats_section.dart index 694a384..b7ef0dd 100644 --- a/lib/src/features/new_character/widgets/stats_section.dart +++ b/lib/src/features/new_character/widgets/stats_section.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:asciineverdie/data/game_text_l10n.dart' as game_l10n; import 'package:asciineverdie/l10n/app_localizations.dart'; -import 'package:asciineverdie/src/core/engine/iap_service.dart'; +import 'package:asciineverdie/src/core/infrastructure/iap_service.dart'; import 'package:asciineverdie/src/shared/retro_colors.dart'; import 'package:asciineverdie/src/shared/widgets/retro_widgets.dart';