일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 크론 표현식
- 스프링 스케쥴러
- Java
- 다리를 지나는 트럭
- kubenetes
- @Setter
- 코딩 테스트
- 정렬
- @configuration
- 루씬 인 액션
- @EnableScheduling
- 검색 기능 확장
- 가장 큰 수
- 스택/큐
- 기능개발
- 프로그래머스
- 커링
- @Getter
- H-index
- K번째수
- 고차원 함수
- @Data
- 해시
- 롬복 어노테이션
- 완주하지 못한 선수
- 모던 자바 인 액션
- 쿠버네티스
- 전화번호 목록
- 영속 자료구조
- 알고리즘
- Today
- Total
목록전체 글 (134)
Today I Learned
CONTEXT MAP (컨텍스트 맵) 서로 다른 CONTEXT를 연결하는 경우 CONTEXT는 서로에게 스며드는 경향이 있다. BOUNDED CONTEXT 간에 코드를 재사용하는 것은 피해야하며, 기능과 데이터는 번역 과정을 거쳐 통합해야 한다. 보통 컨텍스트의 경계는 팀 조직에 따라 정해지며, 물리적인 사무 공간 역시 컨텍스트 분리에 영향을 미칠 수 있다. 현재 진행중인 소프트웨어 모델과 설계의 개념적인 분할을 명확하게 바라볼 수 있도록 BOUNDED CONTEXT을 정의해야 한다. 경계가 모호한 모델을 발견했다고해서 전체적인 구조를 재구성하는 작업으로 이어져선 안된다. 분명한 CONTEXT MAP에 이르기까지는 명백하게 드러나는 모순만 변경한다. CONTEXT 경계에서의 테스트 테스트는 컨텍스트의 경..
모델의 근본적인 요구사항은 모델의 각 용어가 모호하지 않고 모순되는 규칙이 없으며 내적 일관성 유지하는 것이고 이를 단일화라 한다. 하지만 대규모 시스템의 도메인 모델을 완전하게 단일화한다는 것은 타당하지 않거나 비용 대비 효과적이지 않다. 단일 모델로 통합하고자 할때는 다음과 같은 위험요소를 고려해야 한다. 한번에 지나치게 많은 레거시를 교체해야 할 수 있다. 능력이 비해 조율에 드는 비용이 너무 클 수 있다. 특화된 요구사항을 완전하게 충족하지 못해 애플리케이션의 행위를 다른 곳에 둘 수 밖에 없을 수 있다. 모델이 지나치게 복잡해져 사용하기 어려워질 수 있다. 단일화된 모델을 유지하기 어렵다면, 모델 간의 경계와 관계를 표현해 줄 수단이 필요하다. BOUNDED CONTEXT(제한된 컨텍스트) 다수..
STRATEGY (전략) 여러 프로세스 중 하나를 선택하는 로직 + 여러 프로세스 그 자체로 인해 모델링이 복잡해짐 프로세스에서 변화하는 부분을 별도의 전략 객체로 분리해서 모델에 표현 프로세스의 규칙와 프로세스를 제어하는 행위를 분리 STRATEGY 디자인 패턴에 따라 규칙이나 대체 가능한 프로세스를 구현 예제 - 항로 탐색 정책 Routing Service에서 가장 빠른 항로나 가장 저렴한 항로 중 하나를 선택하는 조건 로직이 나타난다. 이를 STRATEGY로 분리하면 항로 선택 방법을 명확하게 표현할 수 있다. STRATEGY는 선택 가능한 Leg Magnitude Policy의 종류를 명확하게 표현하며, 조건식을 사용하지 않고도 동일한 방법으로 모든 요청을 처리할 수 있다. COMPOSITE (복..
분석 패턴은 풍부한 표현력과 쉬운 구현, 난해하고 미묘한 문제를 처리하는 모델을 제공한다. 예제 - 계좌의 이자 수익 초기 설계는 제 구실을 하긴 하지만, 사용하기 불편하고 변경이 까다로우며 정확한 의미를 전달하지 못한다. 분석 패턴에서의 회계모델 회계의 기본 원리는 보존(conservation)이다. 모든 거래는 하나의 account에서 다른 account로 이동할 뿐이다. 분석 패턴을 적용해서 account를 반영한 새로운 모델을 만들 수 있다. 예제 - 야간 배치 프로그램에 대한 통찰력 기입규칙 새로운 Entry가 입력 계정에 추가되면 기입 규칙이 실행된다. 기입 규칙은 계산 Method을 사용해서 새로운 Entry를 생성하고 이를 Account에 삽입한다. 기입규칙 실행 의존성을 설계할 때 까다로..