책/도메인 주도 설계 첫걸음

[도메인 주도 설계 첫걸음] Part 4. 다른 방법론 및 패턴과의 관계

본문은 도메인 주도 설계 첫걸음을 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 14장) 마이크로서비스 마이크로서비스 의미 서비스의 의미 미리 정의된 인터페이스를 사용해 하나 이상의 역량에 접근하기 위한 메커니즘 (OASIS) 미리 정의된 인터페이란 서비스로부터 데이터를 넣고 빼는 모든 메커니즘을 의미한다 마이크로서비스의 의미 마이크로 퍼블릭 인터페이스에 의해 정의된 서비스 장점 단일 서비스의 기능과 연동되는 다른 시스템 구성요소 모두를 쉽게 이해할 수 있음 유지/보수/확장이 쉬워짐 구성 인터페이스가 적고, 구현 복잡성이 높은 깊은 모듈로 구성하라 즉, 외부에 노출되는 기능은 적게 하고 구현 복잡성은 높여라 마이크로서비스와 바운디드 컨..

책/도메인 주도 설계 첫걸음

[도메인 주도 설계 첫걸음] Part 3. 도메인 주도 설계 적용 실무

본문은 도메인 주도 설계 첫걸음을 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 10장) 휴리스틱 설계바운디드 컨텍스트작은 바운디드 컨텍스트를 만드려는 목적으로 기능을 줄이는 방향으로 모델링하는 것보다는 그 반대로 하는 것이 낫다. 즉, 모델의 기능이 포함하는 크기 그대로 바운디드 컨텍스트를 다루는 것이 낫다.바운디드 컨텍스트를 너무 작게 설정하여 그 경계를 리팩토링하는 것은 비용이 많이 들고, 대부분의 경우 기술 부채로 남게 된다 (물리적 경계)반면 넓은 바운디드 컨텍스트의 경계 또는 여러 하위 도메인에 걸친 경계는 보다 안전하다 (논리적 경계)따라서 초기에 바운디드 컨텍스트를 설계할 때는 경계를 넓게 설정하고, 추후 도메인이 쌓이게..

책/Effective Kotlin

[이펙티브 코틀린] 아이템 50: 컬렉션 처리 단계 수를 제한하라

본문은 Effective Kotlin을 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 컬렉션 처리 메서드는 각각의 단계에서 추가적인 컬렉션을 만들어낸다. 시퀀스로 처리한다 하더라도 추가적인 객체를 만들어낸다. 따라서 적절한 메서드를 사용해서 컬렉션 처리 단계 수를 적절하게 제한하는 게 좋다. // Soso fun List.getNames(): List = this .map { it.name } .filter { it != null } .map { it!! } // Better fun List.getNames(): List = this .map { it.name } .filterNotNull() // Best fun List.getNam..

책/Effective Kotlin

[이펙티브 코틀린] 아이템 43: API의 필수적이지 않은 부분을 확장 함수로 추출하라

본문은 Effective Kotlin을 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. 확장 함수의 특징 1) *확장 함수는 import를 통해 사용할 수 있다 확장 함수는 멤버와 달리 별도의 import가 필요하다 이러한 이유로 대개 다른 패키지에 위치한다 직접 멤버를 추가할 수 없는 경우에 사용하기 유용하다 2) 멤버 함수보다 우선순위가 낮다 위에서 언급한 import해서 사용한다는 특징 때문에 같은 타입에 같은 이름으로 여러 개 만들 수 있다 같은 이름으로 다른 동작을 하는 확장 함수가 존재하는 것은 위험할 수 있다 이러한 위험 가능성이 있다면 확장 함수 대신 멤버 함수를 사용하는 것이 좋다 멤버 함수는 확장 함수보다 우선순위..

책/Effective Kotlin

[이펙티브 코틀린] 아이템 42: compareTo의 규약을 지켜라

본문은 Effective Kotlin을 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. compareTo의 동작원칙 비대칭적 동작: a >= b 이고, b >= a라면, a == b 연속적 동작: a >= b이고, b >= c라면, a >= c 코넥스적 동작: a >= b 또는 b >= a 중에 적어도 하나는 항상 true 2. compareTo의 대안 기본적으로 compareTo를 따로 정의해야 할 상황은 거의 없다. compareTo를 재정의하는 대신, 간단하게 다음의 함수를 이용해서 순서를 지정할 수 있다. sortedBy: 하나의 프로퍼티를 기반으로 순서를 지정할 때 사용 sortedWith: 하나의 프로퍼티를 기반으로 순서..

코택
'책' 카테고리의 글 목록