목록DEVELOP (2)
장미정원

개요DDD (Domain Driven Design)는 비즈니스 영역을 의미하는 도메인을 중심으로 하는 개발 방식입니다. DDD에 대해 자세하게 알아보기 전에 DDD에 대해 자주 하는 오해가 있는 것 같은데요. DDD를 구현하려면 이러이러한 구조를 따라야해! 가 아닌 도메인에 대한 문제를 해결하기 위해 도메인과 비즈니스 로직에 초점을 맞춰 개발할 수 있게 도와주는 도구입니다. DDD의 목표는 낮은 결합도, 높은 응집도 입니다. DDD를 통해 도메인 간의 경계를 나눠 응집도 높은 애플리케이션을 설계할 수 있게 도와줍니다. Ubiquitous LanguageDDD의 특징 중 하나는 유비쿼터스 언어를 사용하는 것입니다. 유비쿼터스 언어는 프로젝트에 참여하는 모든 이해 관계자들이 사용하는 비즈니스 도메인 용어를..

다소 자극적인 제목을 선정해보았지만 이 글을 끝까지 읽어봐주시면 좋은 인사이트를 하나라도 얻어가실 수 있을거라 생각합니다. 제가 프로젝트를 개발, 운영해보며 느낀 경험들을 꾹꾹 눌러담아 보았습니다. 이유 없는 기술 도입을 지양하자프로젝트에서 주어진 요구사항이나 문제를 해결하기 위해 기술을 도입해 본 경험이 있을 것입니다. 동적 쿼리를 편하게 작성하기 위해 QueryDSL 도입, 반복적인 조회 작업을 개선하기 위해 Redis 캐시 저장소 도입, 동시성 문제를 해결하기 위해 비관적 락 적용 등등... 하지만 이런 기술들을 도입하고 적용할 때 여러 기술을 비교해 보지도 않고 이유 없이 특정 기술을 도입하는 것은 지양해야 할 태도라고 생각합니다. 상황에 맞지 않는 기술이지만 단순히 관심이 있어서, 재밌어 보여서..