Category Architecture

소프트웨어 공학 중 아키텍처에 대한 글입니다

도메인 모델과 애그리거트 설계

도메인 모델 설계 시, 관련된 엔티티들을 묶어 애그리거트(Aggregate)로 정의하면 데이터 변경의 일관성을 유지하고 모델의 복잡성을 줄일 수 있다. 애그리거트는 도메인 주도 설계(DDD)의 핵심 구성 요소 중 하나로 여러 객체를 하나의 논리적인 단위로 취급하여 변경 시 전체 데이터의 일관성을 보장하는 데…

헥사고날 아키텍처: 사실과 오해

도메인과 도메인 모델에 대해 이야기할 때, 팀 내에서 특정 대상을 명확하고 일관된 단어로 부르는 것이 매우 중요하다. 이를 ‘보편 언어(Ubiquitous Language)’로 발전시키려는 노력이 필요하며, 개발 기술에서도 마찬가지이다. 하나의 기술 개념을 두 가지 이상의 용어로 표현하거나, 하나의 단어가 여러 의미로 사용되는…

헥사고날 아키텍처 (Hexagonal Architecture) – 개념과 특징

헥사킬은 예전부터 알고 있었는데 헥사고날 아키텍처는 2023년부터 인프런 강의로 공부를 하면서 한 두번씩 들어본 것이 전부이다. 개발은 공부를 해서 하나씩 더 알게 될 수록 개발이 점점 어렵게 느껴진다. 그래도 일보 전진해보기로 한다 헥사고날 아키텍처는 2005년 유명 개발자이자 컨설턴트인 앨리스터 코번(Alistair…

아키텍처와 계층형 & 3(4)계층 아키텍처

아키텍처: 시스템 구조와 품질을 결정하는 핵심 설계 원칙 아키텍처의 중요성: 품질 속성과 설계 기반 아키텍처의 제약 조건과 원칙 계층형 아키텍처(Layered Architecture) 계층형 아키텍처는 시스템을 여러 개의 독립적인 계층(Layer)으로 나누어 구조화하는 가장 일반적이고 전통적인 아키텍처 스타일 중 하나이다. 마치 건물처럼 층층이…