Atlas 사례 개요

Atlas 사례 개요

Atlas 사례를 읽기 전에 최소한으로 알아야 할 것들. 깊은 제품 설명이 아니라, 하네스 맥락을 잡기 위한 최소 컨텍스트다.


Atlas가 하는 일 제품 맥락

Atlas는 문서를 열고, 편집하고, 저장하고, 인덱싱하는 데스크탑 앱이다. 로컬 파일을 다루고, 검색과 태그 기능이 있다.

계층 구조 layered architecture

D2 diagram
**규칙:** 위 방향으로만 의존한다. Infrastructure가 Application을 알면 안 된다. Application이 Infrastructure 구현체를 직접 참조하면 안 된다.

핵심 용어

용어의미
UseCase하나의 사용자 시나리오를 처리하는 Application 계층 객체
CommandUseCase에 전달되는 입력 데이터 객체
IDocumentRepositoryDocument 저장/조회를 위한 인터페이스 (Domain 계층 정의)
FileDocumentRepositoryIDocumentRepository의 Infrastructure 구현체
StoreUI 상태를 보관하고 변경 이벤트를 발행하는 객체
BridgeUI ↔ Application 간 통신 인터페이스

DI 구성 composition root

구현체 선택은 Composition Root(앱 시작 시점)에서만 일어난다.

// Composition Root
services.AddScoped<IDocumentRepository, FileDocumentRepository>();
services.AddScoped<IOpenDocUseCase, OpenDocUseCase>();

Application 계층 코드는 IDocumentRepository만 알고, FileDocumentRepository절대 직접 참조하지 않는다.


이 구조를 머릿속에 두고 각 우회 패턴을 읽으면, 어떤 경계가 어디서 무너지는지 바로 보인다.

Atlas 패턴 묶음으로 계속