'DDD' 카테고리의 글 목록
본문 바로가기
728x90
반응형

DDD4

22.02.01_[05DDD].데이터와관계된처리를분리하자-리포지토리 0.리포지토리 리포지토리는 퍼시스턴시를 담당 SW 를 계속 성장시키려면 코드의 의도를 명확히 해야함 객체를 저장하고 복원하는 퍼시스턴시 처리도 물론 중요하지만, 데이터 스토어를 다루는 코드는 프로그램의 의도를 가리기 쉬움 의도가 잘 드러나게 하려면 데이터스토어와 관련된 처리를 따로 떼어내야 함 리포지토리는 이러한 처리를 추상적으로 다룰 수 있게 해주며 따라서 코드의 의도가 더 잘 드러나게 해줌 그외에도 데이터 관련처리를 리포지토리에 맡기면 데이터 스토어를 쉽게 교체하는 효과도 기대할 수 있음 이를 통해 테스트 실행이 쉬어지며, 나아가 프로그램의 변경도 쉬워짐 이는 소프트웨어의 유연성에 기여하는 중요한 패턴임 1.리포지토리란 무엇인가? 리포지토리의 일반적인 의미는 보관창고 소프트웨어에서 말하는것도 데이터 .. 2022. 2. 1.
22.01.29_[04DDD]부자연스러움을해결하는도메인서비스 도메인 개념을 녹이고 값 객체나 엔티티의 행동으로 구현하려면 어딘가 어색한 부분이 생기는 경우가 있음 이 어색한 느낌은 특히 도메인에서 일어나는 활동을 코드로 옮겼을때 자주 나타남 어색한 것을 해결하지 않고, 값 객체의 행동을 억지로 구현하면 객체의 책임이 왜곡될 수 있음 해결책은 어색한 느낌을 낳는 이 행동을 별도의 객체로 분리해 정의하는 것 그것이 도메인 서비스이다. 1. 서비스란? 소프트웨어 개발에서 말하는 서비스는 클라이언트를 위해 무언가를 해주는 객체를 말함 너무 광범위하기도 하고 도메인 주도 설계에만 초점을 맞춰도 서비스가 들어간 용어끼리 의미가 서로 다른 경우도 있어서 상당히 큰 혼란을 야기한다. 1.1 도메인 주도 설계에서 말하는 서비스 크게 두가지로 나뉜다. 첫 번째 도메인을 위한 서비스.. 2022. 1. 29.
22.01.18_[03DDD]생애주기를갖는객체-엔티티 1.엔티티 값 객체와 쌍벽을 이루는 주요 도메인 객체 데이터베이스 테이블 설계에 쓰이는 ER다이어그램도 엔티티가 등장 엔티티-관계 다이어그램 또는 객체-관계 매핑(orm)에서도 퍼시스턴시 대상이 되는 데이터를 엔티티라고 부름 도메인 주도 개발에서는 조금 다른 의미이다 도메인 모델을 구현한 도메인 객체를 의미 값 객체도 도메인 모델을 구현한 도메인객체임 엔티티와 값객체의 차이는 동일성을 통해 식별이 가능한지 아닌지에 있음 1.1 동일성 사람은 이름, 키, 체중, 취미등 다양한 속성을 갖음 이 속성은 고정된 값이 아니며 여러가지 요인에 의해 변화함 나이는 해마다 생일이 돌아오면 변화는 속성인데 여기서 중요한 것은 생일을 맞은 사람은 생일전과 후가 서로 다른사람인가 라는 것임 당연하게 나이가 먹는다고 달라지지.. 2022. 1. 18.
22.01.14_[02DDD]값객체란? 1.값객체란? v시스템 특유의 값을 표현 하기 위해 정의하는 객체를 값 객체 프로그래밍 언어에는 원시 데이터 타입이 있음 원시데이터 타입만 사용해 시스템을 개발할 수 있으나 때로는 특유의 값을 정의해야 할 때가 있음 1.1 원시데이터 값으로 성명 표현 var fullName = "naruse mananobu"; Console.WriteLine(fullName);// naruse mananobu 값이 출력됨 성만 출력하고 싶거나, 성과 이름 순으로 출력하고 싶은 다양한 요구사항이 있는 경우에 아래와 같이 우선 성씨만 출력하는 경우이다. 1.2 이름 중 성씨만 출력 var fullName = "naruse mananobu"; var tokens = fullName.Split(' ');// ["naruse",.. 2022. 1. 18.
728x90
반응형