코틀린 typealias는 언제 쓸까: 타입을 새로 만드는 것과 이름만 붙이는 것의 차이
코틀린 typealias를 긴 타입 이름 줄이기, 함수 타입 별칭, 새 타입을 만드는 것과의 차이 기준으로 정리합니다. 읽기 좋아지는 경우와 도메인 타입을 가리는 남용 사례를 예제로 설명합니다.
코틀린 typealias를 긴 타입 이름 줄이기, 함수 타입 별칭, 새 타입을 만드는 것과의 차이 기준으로 정리합니다. 읽기 좋아지는 경우와 도메인 타입을 가리는 남용 사례를 예제로 설명합니다.
불변 객체는 setter를 없애는 문법 취향이 아니라 상태 변경 지점을 줄여 코드를 더 예측 가능하게 만드는 설계입니다. 캡슐화와 테스트 관점에서 정리합니다.
트랜잭션 경계가 무엇인지 쉽게 설명합니다. DB 트랜잭션 설명에서 끝나지 않고, 왜 서비스 메서드가 길어지고 객체 책임이 흔들리는지 예시 중심으로 정리합니다.
DDD에서 애그리거트가 왜 어렵게 느껴지는지 설명합니다. aggregate root, 경계, 무결성, transaction boundary, 수정 hotspot 관점에서 실무적으로 정리합니다.
트랜잭션 스크립트와 도메인 모델은 무엇이 다르고, CRUD가 많은 서비스는 어디까지 단순하게 가도 되는지 설명합니다. Fowler의 패턴 정의를 바탕으로 과설계와 빈혈 도메인 모델 사이의 현실적인 판단 기준을 정리합니다.
도메인 모델이 getter와 setter만 남은 빈혈 상태가 되면 왜 유지보수가 어려워지는지 설명합니다. 서비스 객체로 로직이 몰리는 이유, 책임이 흐려지는 순간, 언제 도메인 모델이 더 나은지 실무 기준으로 정리합니다.