[태그:] DDD

  • Django 계층형 데이터 설계, Django-Ninja와 함께

    Django, DRF 를 이용해서 백엔드 개발을 장기간 했다. 응집성 있게 원칙에 맞춰서 개발을 잘 해왔다고 생각했는데, 부분에서 데이터 구조가 복잡해져 데이터 삭제, 변경이 어려워지고 비즈니스 로직 구현도 어려움을 느끼는 경험을 했다. FastAPI, Spring, DDD 등에 관한 글을 읽으면서 Python으로 개발한 부분은 원칙에 크게 벗어나지 않았지만 데이터가 그물형으로 매우 복잡하게

  • 스파게티 코드는 그만: 계층형 데이터 구조와 Aggregator 패턴

    높은 코드 품질을 위한 기준으로는 재사용성, 유지보수성, 확장성 등이 있다. 그러나 모놀리식 구조에서는 스파게티 구조가 되기 쉽다. 로직에서만 발생하는 문제가 아니라 데이터 구조도 복잡한 그물망 형태가 되지 않도록 해야하는데 소흘해지기 쉽기 때문이다. 일반적으로 사용하는 RDBMS 에서는 데이터간 관계를 맺는게 나쁜 일이 아니기 때문이다. 1) 모놀리식 스파게티의 문제 높은 결합도: 하나의