도메인 주도 설계 첫걸음 - 07장 시간 차원의 모델링
범위 [Part 2] 전술적 설계 - 07장: 시간 차원의 모델링 개념 정리 책에서 기억하고 싶은 내용 이벤트 소싱 이벤트 소싱 패턴은 데이터 모델과 시간 차원을 도입한다. 애그리게이트의 현재 상태를 반영하는 스키마 대신 이벤트 소싱 기반 시스템은 애그리게이트의 수명주기의 모든 변경사항을 문서화하는 이벤트를 유지한다. 검색...
범위 [Part 2] 전술적 설계 - 07장: 시간 차원의 모델링 개념 정리 책에서 기억하고 싶은 내용 이벤트 소싱 이벤트 소싱 패턴은 데이터 모델과 시간 차원을 도입한다. 애그리게이트의 현재 상태를 반영하는 스키마 대신 이벤트 소싱 기반 시스템은 애그리게이트의 수명주기의 모든 변경사항을 문서화하는 이벤트를 유지한다. 검색...
범위 [Part 2] 전술적 설계 - 06장: 복잡한 비즈니스 로직 다루기 개념 정리 책에서 기억하고 싶은 내용 배경 ‘전술적 도메인 주도 설계(tactical domain-driven design)’ 패턴: 도메인 모델 그 구성 요소: 애그리게이트, 밸류 오브젝트 도메인 모델 도메인 ...
대하여 본 내용은 Martin Fowler가 블로그에 작성한 내용을 번역한 것입니다. Origin Url: CQRS CQRS CQRS는 명령 쿼리 책임 분리(Command Query Responsibility Segregation)를 나타냅니다. Greg Young이 처음 설명한 패턴입니다. 핵심은 정보를 읽는 데 사용하는 모델과 다른...
단위 테스트란? 함수, 모듈, 기능 등 세부 단위별로 수행하는 소프트웨어 테스트. 컴포넌트(component test)라고도 부른다. 깨끗한 단위 테스트를 위한 다섯 가지 규칙(FIRST)이란? bob martin이 제시한 단위 테스트 원칙 깨끗한 테스트는 다음 다섯 가지 규칙을 따르는데, 각 규칙에서 첫 글자를 따 오면 FI...
객체 지향 프로그래밍이란? 객체 지향 프로그래밍(영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 “객체”들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받...
정의 마이크로서비스(microservice)는 애플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처(SOA) 스타일의 일종인 소프트웨어 개발 기법이다.[마이크로서비스] “단일 애플리케이션을 작은 서비스 모음으로 개발하는 접근 방식으로서 작은 서비스는 자체적으로 실행할 수 있고, 경량 메커니즘을 통해 서로 통신한다....
범위 8장 애플리케이티브 펑터 개념 정리 애플리케이티브 스타일 프로그래밍(applicative style programming): 컨텍스트를 유지한 상태에서 함수에 의한 연속적인 데이터 변환을 체이닝하는 방식. 이더(either): 성공과 실패를 모두 포함하는 컨텍스트. 성공한 경우는 라이트가 되고, 실패한 경우는 레프트가 된다. 두...
범위 7장 펑터 개념 정리 펑터(Functor): 매핑할 수 있는 것(can be mapped over)이라는 행위를 선언한 타입 클래스. 메이비(Maybe): 어떤 값이 있을 수도 있고 없을 수도 있는 하스켈의 컨테이너형 타입이다. 자바8에는 옵셔널(Optional), 스칼라에서는 옵션(Option)이라는 이름으로 동일한 역할을 하...
범위 6장 함수형 타입 시스템 개념 정리 대수적 데이터 타입(Algebraic data type): 다른 타입들을 모아서 형성되는 합성 타입의 종류로, 곱 타입(product type)과 합 타입(sum type)이 있다. 대수적 데이터 타입의 핵심은 기존 타입들을 결합하여 새로운 타입을 정의하는 것이다.[대수적 자료형] 곱 타입(p...
범위 5장 컬렉션으로 데이터 다루기 개념 정리 컬렉션 다루기에서 명령형 방식 대비 함수형 프로그래밍의 장점 코드가 간결해져서 가독성이 좋다. 결괏값을 저장하기 위해서 별도의 리스트를 생성할 필요가 없다. 비지니스 로직에 집중할 수 있다. 버그가 발생할 확률이 적다. 테스트가 ...