도메인 주도 설계 첫걸음 - 12장 이벤트 스토밍
범위 [Part 3] 도메인 주도 설계 적용 실무 - 12장: 이벤트 스토밍 개념 정리 이벤트 스토밍(eventstorming): 협업을 통해 비즈니스 프로세스를 모델링하는 워크숍 자동화 정책(automation policy): 이벤트가 커맨드 실행을 시작하는 시나리오 읽기 모델: 도메인에서 액터가 커맨드를 실행하는 의사결정을...
범위 [Part 3] 도메인 주도 설계 적용 실무 - 12장: 이벤트 스토밍 개념 정리 이벤트 스토밍(eventstorming): 협업을 통해 비즈니스 프로세스를 모델링하는 워크숍 자동화 정책(automation policy): 이벤트가 커맨드 실행을 시작하는 시나리오 읽기 모델: 도메인에서 액터가 커맨드를 실행하는 의사결정을...
범위 [Part 3] 도메인 주도 설계 적용 실무 - 11장: 진화하는 설계 의사결정 개념 정리 우발적 복잡성: 오래된 설계의 결정으로 발생하는 복잡성 책에서 기억하고 싶은 내용 도메인 변경 핵심에서 일반으로 경쟁 우위로 간주했던 것이 모든 경쟁업체가 사용할 수 있는 상품이 된 것 일반에서 핵심으로 상용 ...
범위 [Part 3] 도메인 주도 설계 적용 실무 - 10장: 휴리스틱 설계 개념 정리 책에서 기억하고 싶은 내용 휴리스틱 완벽한 것을 보장하지는 않지만 당면한 목적에 충분할 만큼 경험에 기반한 규칙 휴리스틱을 사용하는 것은 수많은 단서에 내재된 노이즈를 무시하면서도 가장 중요한 단서에서 느껴지는 ‘압도하는 힘’에 집중하여 효...
범위 [Part 2] 전술적 설계 - 09장: 커뮤니케이션 패턴 개념 정리 책에서 기억하고 싶은 내용 모델 변환 스테이트리스 모델 변환 스테이트풀 모델 변환 애그리게이트 연동 아웃박스 사가 프로세스 관리자 결론 어웃박스 패턴 애그리게이트의 도메인 이벤트를 발행하는 안정적인 방법 다른 프로...
범위 [Part 2] 전술적 설계 - 08장: 아키텍처 패턴 개념 정리 책에서 기억하고 싶은 내용 비즈니스 로직과 아키텍처 패턴 비즈니스 로직은 소프트웨어에서 가장 중요한 요소다. 관심사를 구현할 때 엄격하게 구성하지 않으면 코드베이스의 변경이 어려워진다. 비즈니스 로직이 변경될 때 코드베이스의 어떤 부분이...
스레드(Thread) 스레드(Thread)란? 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다. ...
요약 동시성 프로그래밍을 할 때, 가장 중요한 부분은 둘 이상의 스레드가 공통으로 동시에 접근해서는 안 되는 ‘공유 자원’을 관리하는 것이다. 이러한 ‘공유 자원’을 관리 하기 위해서는 상호 배제(Mutual exclusion)를 달성하는 기법이 필요하다. 대표적인 상호 배제를 달성하기 위한 방범으로는 뮤텍스(Mutex)와 세마포어(Se...
헥사고날 아키텍처(Hexagonal architecture)란? 소프트웨어 설계에 사용되는 아키텍처 패턴 중 하나 헥사고날 아키텍처(Hexagonal architecture) 또는 포트 및 어댑터 아키텍처(ports and adapters architecture)라고 불립니다. ‘헥사고날(육각형)’이라는 용어는 육각형 셀과 같은 응용 프...
범위 [Part 2] 전술적 설계 - 07장: 시간 차원의 모델링 개념 정리 책에서 기억하고 싶은 내용 이벤트 소싱 이벤트 소싱 패턴은 데이터 모델과 시간 차원을 도입한다. 애그리게이트의 현재 상태를 반영하는 스키마 대신 이벤트 소싱 기반 시스템은 애그리게이트의 수명주기의 모든 변경사항을 문서화하는 이벤트를 유지한다. 검색...
범위 [Part 2] 전술적 설계 - 06장: 복잡한 비즈니스 로직 다루기 개념 정리 책에서 기억하고 싶은 내용 배경 ‘전술적 도메인 주도 설계(tactical domain-driven design)’ 패턴: 도메인 모델 그 구성 요소: 애그리게이트, 밸류 오브젝트 도메인 모델 도메인 ...