아키텍처패턴 2

Clean Architecture 원칙

1. Clean Architecture란 무엇인가?1-1. 정의와 철학 Clean Architecture는 2012년 Robert C. Martin(‘Uncle Bob’)이 공식적으로 소개한 소프트웨어 설계 아키텍처다. 핵심 개념은 시스템의 핵심 비즈니스 규칙을 외부로부터 완전히 독립시켜, 변화에 유연하면서도 테스트 가능한 구조를 만드는 데 있다. 그는 레이어드 아키텍처나 헥사고날 아키텍처 등 기존 구조의 장점들을 통합해 더 정제된 구조를 제시했으며, Clean Architecture는 클린 코드의 연장선으로서 “변화에 강한 소프트웨어”를 위한 철학으로 자리 잡았다. 이 아키텍처는 단순히 코드를 정리하는 기술이 아니라, 소프트웨어 시스템의 생존력, 확장성, 그리고 협업 구조를 어떻게 설계할 것인가에 대..

컴퓨터공학 2025.05.21

헥사고날 아키텍처란?

1. 헥사고날 아키텍처의 개념1-1. 정의 및 기원 헥사고날 아키텍처(Hexagonal Architecture)는 Alistair Cockburn이 2005년에 처음 제안한 개념으로, ‘포트와 어댑터(Ports and Adapters)’ 아키텍처라는 이름으로도 널리 알려져 있다. 이 구조는 기존의 레이어드 아키텍처에서 발생하던 문제, 즉 도메인 로직이 프레임워크나 외부 기술에 종속되는 현상을 해결하기 위해 고안되었다. 핵심 철학은 애플리케이션의 핵심 도메인을 외부와 철저히 분리하고, 포트와 어댑터를 통해서만 상호작용을 허용하는 것이다. 이를 통해 도메인 로직의 순수성을 유지하고, 테스트 용이성과 시스템 유연성을 극대화할 수 있다. 단순히 코드 구조가 아니라, 비즈니스 규칙 중심 설계의 실천 철학이라 볼..

컴퓨터공학 2025.05.20