본문 바로가기

리파지토리2

DDD - Repository - 출처: 도메인 주도 설계 - 에릭 에반스 - Repository 하나의 객체에서 다른 객체를 탐색하려면 연관관계(association)을 이용하면 된다. 하지만 객체의 생명주기 중간에도 Entity나 Value를 탐색할 수 있는 진입점이 필요하다. 어떤 객체의 참조를 얻기 위한 방법에는 아래와 같은 방법들이 있다. 생성 연산으로 객체를 생성 연관관계를 이용한 탐색 영속화 계층으로 부터 검색 DB 검색은 어디서든 이용가능하며 곧바로 어떤 객체에도 접근 가능하게 해준다. 프로그램내에서 모든 객체가 서로 상호연결이 되어야 하는것은 아니다. 탐색 혹은 검색에 의존하느냐는 설계 결정 사항이다. Customer 객체가 모든 Order에 대한 컬렉션을 가지고 있는 방식이 될수도 있으며 Customer ID를 이용.. 2022. 9. 18.
DDD - Factory - 출처: 도메인 주도 설계 - 에릭 에반스 - Factory 어떤 객체나 Aggregate를 생성하는 일이 복잡해지거나 혹은 내부 구조가 너무 많이 드러나는 경우 Factory를 통해 캡슐화를 제공할 수 있다. 우리는 자동차를 운전할 때 어떻게 조립 되었느냐는 신경쓰지 않는다. 두 가지 행위는 같은 시간에 일어나지 않으며, 이런 기능이 동일한 매커니즘에 결합되어 있는것은 의미가 없기 때문이다. 이를 객체 생성관점에 빗대어 생각해보면 복잡한 객체를 생성하는 일과 생성된 객체가 하는 일은 관련성이 적다고 생각할 수 있다. 프로그래밍 언어의 기본적인 내용을 학습할 때 main과 같은 함수에서 곧바로 객체를 생성한다. 이런식으로 client가 객체를 생성해서 사용하면 되는데 왜 굳이 Factory를 통해 캡슐.. 2022. 9. 12.