파이썬으로 살펴보는 아키텍처 패턴 - 1장

이동욱

2021/11/09

Categories: 디자인

- 대부분의 개발자가 새로운 시스템을 설계하라는 요청을 받으면, 즉시 데이터베이스 스키마를 그리기 시작하고, 그 다음에 객체 모델을 생각한다. 여기서부터 모든 것이 잘못되기 시작한다...
1. 저장소 패턴은 영속적인 저장소에 대한 추상화를 한다.
2. 서비스 계층 패턴은 유스케이스의 시작과 끝을 명확하게 정의하기 위한 패턴이다.
3. 작업 단위 패턴은 원자적 연산을 제공한다.
4. 애그리게이트 패턴은 데이터 정합성을 강화하기 위한 패턴이다.

값 객체와 엔티티


@dataclass(fronzen=True)
class Money:
    currency: str
    value: str


class Money(NamedTuple):
    currency: str
    value: int
class Batch:
    ...
    def __eq__(self, other):
        if not isinstance(other, Batch):
            return False
        return other.reference == self.reference

    def __hash__(self):
        return hash(self.reference)

도메인 모델링


도메인 모델링

엔티티와 값 객체 구분

모든 것을 객체로 만들 필요가 없다

가장 좋은 설계 원칙을 적용할 때다

참고 문헌


>> Home