[Feature] Domain Interface 정의 (Repository, Service) #12

Closed
opened 2026-02-09 04:40:52 +00:00 by seonkyu.kim · 0 comments
Owner

설명

Clean Architecture 계층 참조 규칙에 따라 Domain 레이어에 Repository 및 UnitOfWork 인터페이스를 정의한다.

  • IRepository<T>: 모든 엔티티에 공통 적용되는 Generic CRUD 인터페이스
  • IUnitOfWork: 트랜잭션 관리 인터페이스
  • 도메인별 특화 Repository 인터페이스: API 명세 및 기능 명세 기반 쿼리 메서드 정의

체크리스트

  • SPMS.Domain/Interfaces/ 디렉토리 생성
  • IRepository<T>.cs — Generic CRUD 인터페이스 (GetById, GetAll, Find, GetPaged, Count, Exists, Add, Update, Delete)
  • IUnitOfWork.cs — 트랜잭션 관리 (SaveChanges, BeginTransaction, Commit, Rollback)
  • IServiceRepository.cs — 서비스 전용 쿼리 (ByServiceCode, ByApiKey, WithIps, ByStatus)
  • IAdminRepository.cs — 관리자 전용 쿼리 (ByEmail, ByAdminCode, EmailExists)
  • IDeviceRepository.cs — 디바이스 전용 쿼리 (ByServiceAndToken, ActiveCount, ByPlatform)
  • IMessageRepository.cs — 메시지 전용 쿼리 (ByMessageCode)
  • IPushLogRepository.cs — 발송 로그 전용 쿼리 (ByMessageId, Failed, BatchAdd, CountByStatus)
  • IFileRepository.cs — 파일 전용 쿼리 (ByFileName, FileExists)
  • IStatRepository.cs — 통계 전용 쿼리 (ByServiceAndDate, ByDateRange)
  • 빌드 성공 확인

참고 문서

  • Documents/Architecture.md
  • Documents/API_Specification.md
  • Documents/Feature_Spec.md
  • Documents/DB_Schema.md
## 설명 Clean Architecture 계층 참조 규칙에 따라 Domain 레이어에 Repository 및 UnitOfWork 인터페이스를 정의한다. - `IRepository<T>`: 모든 엔티티에 공통 적용되는 Generic CRUD 인터페이스 - `IUnitOfWork`: 트랜잭션 관리 인터페이스 - 도메인별 특화 Repository 인터페이스: API 명세 및 기능 명세 기반 쿼리 메서드 정의 ## 체크리스트 - [x] `SPMS.Domain/Interfaces/` 디렉토리 생성 - [x] `IRepository<T>.cs` — Generic CRUD 인터페이스 (GetById, GetAll, Find, GetPaged, Count, Exists, Add, Update, Delete) - [x] `IUnitOfWork.cs` — 트랜잭션 관리 (SaveChanges, BeginTransaction, Commit, Rollback) - [x] `IServiceRepository.cs` — 서비스 전용 쿼리 (ByServiceCode, ByApiKey, WithIps, ByStatus) - [x] `IAdminRepository.cs` — 관리자 전용 쿼리 (ByEmail, ByAdminCode, EmailExists) - [x] `IDeviceRepository.cs` — 디바이스 전용 쿼리 (ByServiceAndToken, ActiveCount, ByPlatform) - [x] `IMessageRepository.cs` — 메시지 전용 쿼리 (ByMessageCode) - [x] `IPushLogRepository.cs` — 발송 로그 전용 쿼리 (ByMessageId, Failed, BatchAdd, CountByStatus) - [x] `IFileRepository.cs` — 파일 전용 쿼리 (ByFileName, FileExists) - [x] `IStatRepository.cs` — 통계 전용 쿼리 (ByServiceAndDate, ByDateRange) - [x] 빌드 성공 확인 ## 참고 문서 - `Documents/Architecture.md` - `Documents/API_Specification.md` - `Documents/Feature_Spec.md` - `Documents/DB_Schema.md`
seonkyu.kim added the
Priority
High
Status
Available
Type
Feature
labels 2026-02-09 04:41:01 +00:00
seonkyu.kim self-assigned this 2026-02-09 04:41:08 +00:00
seonkyu.kim added this to the Phase 1: 인프라 & 공통 모듈 milestone 2026-02-09 04:41:10 +00:00
seonkyu.kim added
Status
In Progress
and removed
Status
Available
labels 2026-02-09 04:47:09 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-09 04:52:48 +00:00
Sign in to join this conversation.
No description provided.