ProjectDDD/Assets/_DDD/_Scripts/GameUi/New/Services/IService.cs
2025-08-20 15:22:08 +09:00

62 lines
1.7 KiB
C#

namespace DDD.MVVM
{
/// <summary>
/// 서비스 계층의 기본 인터페이스
/// MVVM 패턴에서 비즈니스 로직을 담당하는 서비스들의 공통 인터페이스
/// </summary>
public interface IService
{
/// <summary>
/// 서비스 초기화
/// </summary>
void Initialize();
/// <summary>
/// 서비스 종료 시 리소스 정리
/// </summary>
void Cleanup();
}
/// <summary>
/// 데이터 서비스 인터페이스
/// 데이터 CRUD 작업을 담당하는 서비스들의 기본 인터페이스
/// </summary>
/// <typeparam name="TData">관리할 데이터 타입</typeparam>
public interface IDataService<TData> : IService
{
/// <summary>
/// 데이터 로드
/// </summary>
void LoadData();
/// <summary>
/// 데이터 저장
/// </summary>
void SaveData();
/// <summary>
/// 특정 ID의 데이터 가져오기
/// </summary>
/// <param name="id">데이터 ID</param>
/// <returns>데이터 객체 또는 null</returns>
TData GetData(string id);
/// <summary>
/// 모든 데이터 가져오기
/// </summary>
/// <returns>모든 데이터 컬렉션</returns>
System.Collections.Generic.IEnumerable<TData> GetAllData();
}
/// <summary>
/// UI 서비스 인터페이스
/// UI 관련 비즈니스 로직을 담당하는 서비스들의 기본 인터페이스
/// </summary>
public interface IUiService : IService
{
/// <summary>
/// UI 상태 업데이트
/// </summary>
void UpdateUiState();
}
}