728x90
반응형

도메인 주도 설계 3

Onion Architecture

개요Onion Architecture(어니언 아키텍처)는 애플리케이션의 비즈니스 로직을 중심에 두고, 바깥 계층으로 인프라스트럭처 및 프레젠테이션 로직을 배치하는 구조로, 의존성 역전 원칙을 강조하는 소프트웨어 아키텍처 패턴입니다. 이 구조는 도메인 중심 설계(DDD)의 이상을 반영하며, 테스트 용이성과 변경 용이성을 동시에 확보할 수 있는 강력한 설계 방식으로 평가받고 있습니다.1. 개념 및 정의Onion Architecture는 시스템의 핵심 도메인 로직이 외부 계층(프레젠테이션, 인프라 등)에 의존하지 않고, 오히려 외부가 내부를 의존하는 구조를 갖는 설계 방식입니다.목적: 코드베이스의 유지보수성과 테스트 용이성 확보필요성: 점진적 개발 및 비즈니스 로직 보호중심 원칙: DIP(Dependency ..

Topic 2025.05.05

Hexagonal Architecture

개요Hexagonal Architecture(육각형 아키텍처)는 어플리케이션의 핵심 도메인 로직을 외부와 분리하여 유연성과 테스트 용이성을 극대화하는 아키텍처 패턴입니다. Alistair Cockburn이 제안한 이 구조는 ‘포트와 어댑터(Ports and Adapters)’라는 개념을 중심으로, 의존성을 반전시켜 깔끔한 경계를 정의합니다.1. 개념 및 정의Hexagonal Architecture는 시스템의 핵심 비즈니스 로직을 중앙(코어) 도메인에 배치하고, 이를 다양한 외부 시스템(API, DB, 메시징 등)과 **포트(Ports)**와 **어댑터(Adapters)**를 통해 연결하는 방식의 아키텍처입니다.목적: 도메인 로직의 독립성과 테스트 용이성 확보필요성: 지속 가능한 소프트웨어 구조와 변화 대..

Topic 2025.05.05

클린 아키텍처(Clean Architecture)

개요클린 아키텍처(Clean Architecture)는 로버트 C. 마틴(Robert C. Martin, Uncle Bob)이 제안한 소프트웨어 아키텍처 패턴으로, 의존성을 최소화하고 유지보수가 용이한 구조를 만들기 위한 설계 원칙이다. 클린 아키텍처는 소프트웨어를 계층화하여 비즈니스 로직과 외부 요소(데이터베이스, UI 등)를 분리하여 유연성과 확장성을 높인다. 본 글에서는 클린 아키텍처의 개념, 핵심 원칙, 구조, 장점 및 도입 시 고려사항을 살펴본다.1. 클린  아키텍처란?클린 아키텍처는 애플리케이션의 핵심 비즈니스 로직을 보호하고, 외부 요소(데이터베이스, UI, 프레임워크 등)와의 의존성을 줄이는 구조적 설계 방법이다. 이를 통해 애플리케이션이 변경 에 유연하게 대응할 수 있도록 한다.특징:계층..

Topic 2025.02.26
728x90
반응형