
DDD와 클린 아키텍처로 비즈니스 로직 보호하기

·
Project/Pop-winehalle
프로젝트의 방향성개발을 시작하기 전에 가장 먼저 스스로에게 질문했다.'이번 프로젝트를 어떤 의도와 목적을 가지고 진행할 것인가?'그에 대한 나의 대답은 이러하다.'유지보수에 강한 코드를 만들어보자. 그리고 그 기반 위에서 성능 개선을 시도해 보자.'이러한 방향성을 갖게 된 배경은 단순하다. 나는 과거에 단순히 구현하는 데만 집중한 개발을 여러 번 경험해 본 바 있다.결과물을 빠르게 내는 것도 분명 의미 있는 과정이었고, 일정 수준의 성취감도 있었다.하지만 시간이 지나 리팩토링이나 QA를 하려 할 때,그 코드들은 내가 짰음(지피티가 짰나)에도 불구하고 이해하기 어렵고 변경이 매우 어려웠다.예를 들면:- 하나의 클래스에 모든 기능이 몰려 있는 God Object(말 그대로 "신처럼 모든 걸 다 아는 객체")..