피드로 돌아가기
Dev.toBackend
원문 읽기
도메인을 독립 Library로 격리하여 소유권 분쟁과 결합도를 제거한 LOA 설계
Library Oriented Architecture: The Most Interesting Architecture Pattern You've Probably Never Heard About
AI 요약
Context
애플리케이션 성장 과정에서 도메인 간 경계가 모호해지는 Boundary Blur 현상 발생. 이로 인해 특정 도메인 기능이 타 도메인으로 유출되는 Dependency Leakage와 소유권 불분명으로 인한 유지보수 비용 증가라는 한계점 노출.
Technical Solution
- 도메인을 단순 폴더나 모듈이 아닌 독립된 Library 단위로 정의하여 물리적 경계 강제
- Ontology 개념을 도입하여 도메인 내 개념, 관계, 비즈니스 규칙을 명확히 정의한 언어 체계 구축
- Application 레이어를 오케스트레이션 전담 영역으로 분리하여 도메인 지식의 유입 차단
- Middleware 레이어를 통해 HTTP, Persistence, Caching 등 인프라 의존성을 추상화하여 도메인 라이브러리의 순수성 유지
- Framework-agnostic 설계를 통한 비즈니스 로직과 기술 스택의 완전한 분리 구현
- Library 기반 패키징을 통한 다수 애플리케이션 간의 도메인 로직 재사용성 확보
실천 포인트
- 도메인 간 순환 참조가 빈번한지 확인하고 이를 물리적 Library 분리로 해결 가능한지 검토 - 비즈니스 로직 내에 프레임워크(Spring, Express 등) 종속 코드가 포함되어 있는지 점검 - 도메인별 Ontology를 정의하여 팀 간 공유 가능한 도메인 언어 사전을 구축 - 인프라 변경이 도메인 로직에 영향을 주지 않도록 Middleware 추상화 계층 설계 적용