아키텍처 가이드
Caffeine 플랫폼의 계층 구조와 프로젝트 의존성 관계 가이드이다.
Clean Architecture 레이어
Caffeine은 Clean Architecture 원칙을 따른다.
| 레이어 | 프로젝트 | 역할 |
|---|---|---|
| Domain | Caffeine.Core | 엔티티, 인터페이스, 값 객체 |
| Infrastructure | Caffeine.Infrastructure | DB, 메시지 브로커 어댑터 |
| Presentation | Caffeine.Engine, Caffeine.Admin | HTTP, gRPC 진입점 |
| Edge | Caffeine.Bridge.Host | 드라이버 동적 로드 |
주요 프로젝트 역할
- Caffeine.Core: 최하위 기반 모듈. 외부 NuGet 최소화
- Caffeine.IPC: gRPC/Protobuf 계약 정의
- Caffeine.Engine: gRPC, SignalR, Kafka, MQTT, GraphQL 제공
- Caffeine.Admin: Blazor Server + Blazor Blueprint 관제 대시보드
- Caffeine.Client: 외부 연동용 SDK (내부 프로젝트 참조 없음)
새 드라이버 추가
IDriverModule인터페이스 구현- 빌드 후
drivers/폴더에 DLL 복사 Caffeine.Bridge.Host재시작
기존 코드 수정 없이 새 장비 지원이 가능하다.
내부 가이드
DI 등록 전략, BackgroundWorker 목록, 미들웨어 파이프라인 상세는 내부 문서를 참조하세요.