일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Daily Challenge
- 리얼 클래스
- 매일
- leetcode
- 스탭퍼
- English
- 운동
- 괜찮음
- Writing
- 사이드
- 10분
- 링피트
- 읽기
- 쓰릴오브파이트
- 미드시청
- 만화도
- 월간
- 3줄정리
- 화상영어
- 영어공부
- 프로젝트
- 개발자
- realclass
- 잡생각
- 파비최
- 30분
- Problem Solving
- FIT XR
- 영어원서읽기
- 뭐든
Archives
- Today
- Total
파비의 매일매일 공부기록
파이썬으로 살펴보는 아키텍처 패턴 - 7장 #1 본문
이번장에서는 모델을 다시 살펴보면서 불변 조건과 제약에 대해 알아보고 '내부적인 일관성'을 유지하는 방법을 살펴봄. 그리고 일관성 경계를 설명하고 일관성 경계가 어떻게 유지보수 편의를 해치지 않으면서 고성능 소프트웨어를 만들 수 있게 도와주는지 살펴봄.
1. 모든 것을 스프레드시트에서 처리하지 않는 이유
- 비즈니스 사용자들은 간단하고 익숙하면서도 강력한 스프레드시트를 좋아한다. (이건 리얼 100 퍼 공감)
- 도메인 로직의 일부는 제약을 강제로 지키게 해서 시스템이 만족하는 불변 조건을 유지하려는 목적으로 작성됨.
- 불변 조건 : 어떤 연산이 끝날 때마다 항상 참이어야 하는 요소.
2. 불변 조건, 제약, 일관성
- 제약 : 모델이 취할 수 있는 상태의 수를 제한.
- 경우에 따라 일시적으로 규칙을 완화할 수 있음.
- 동시성이 적용되면 상황이 더 복잡해지며, 테이블에 락을 적용해서 문제를 해결함.
- 락을 사용하면 같은 테이블이나 같은 행에 대해 두 연산이 동시에 일어나는 경우를 방지할 수 있음.
3. 애그리게이트란?
- 시스템을 불변 조건을 보호하고 동시성을 최대한 살리고 싶을 때 사용할 수 있는 패턴
- 다른 도메인 객체들을 포함하며 이 객체 컬렉션 전체를 한꺼번에 다룰 수 있게 해주는 도메인 객체
- 변경 방법 : 애그리게이트와 그 안의 객체 전체를 불러와서 애그리게이트 자체에 대해 메서드를 호출
- 모델 안에 컬렉션이 있으면 어떤 엔티티를 선정해서 그 엔티티와 관련된 모든 객체를 변경할 수 있는 단일 진입점으로 삼으면 좋음.
반응형
'Study > Python' 카테고리의 다른 글
파이썬으로 살펴보는 아키텍처 패턴 - 7장 #3 (0) | 2021.10.19 |
---|---|
파이썬으로 살펴보는 아키텍처 패턴 - 7장 #2 (0) | 2021.10.18 |
파이썬으로 살펴보는 아키텍처 패턴 - 6장 #2 (0) | 2021.10.16 |
파이썬으로 살펴보는 아키텍처 패턴 - 6장 #1 (0) | 2021.10.15 |
파이썬으로 살펴보는 아키텍처 패턴 - 5장 #2 (0) | 2021.10.14 |
Comments