본문 바로가기

Development/Spring

DDD(Domain Driven Design)와 SQL 중심 설계의 차이점 DDD DDD(도메인 주도 설계)는 데이터를 도메인별로 나누어, 도메인 객체를 중심으로 관리하는 설계 기법이다. 여기서 도메인이란 현실 세계에서 해결해야 할 문제가 나눠지는 영역을 뜻한다. DDD 방식은 복잡한 비즈니스 로직을 가지는 소프트웨어에 적합하며, 비즈니스의 요구사항을 보다 명확하게 이해하고, 이를 개발자의 코드에 반영할 수 있도록 돕는다. 도메인 주도 설계를 통해 객체의 역할을 명확히 구분할 수 있고, 비즈니스 로직(현실세계의 문제(도메인)에 대한 의사결정 과정을 포함하는 로직)과 서비스 로직(애플리케이션의 기능을 지원하는 로직)이 구별되어 주요 문제에 집중하기 쉬워진다. 비즈니스와 서비스 객체의 구분이 명확하므로 유지 보수가 용이하고, 도메인별 연관관계 속에서 데이터가 관리되므로 체계적인 관.. 더보기
Spring Framework의 DI(의존성 주입)와 IoC(제어의 역전) 개념 정리 DI DI(의존성 주입)는 클라이언트(다른 객체를 사용하려는 대상)가 의존할 객체를 외부에서 지정해 주는 것을 말한다. 역할이 배타적이지 않고 다른 객체의 변화에 영향받는다면 의존성이 있는 것이다. 클라이언트가 직접 객체를 생성하지 않아도, IoC(DI) Container를 통해 객체를 관리하는 spring framework는 다른 객체에 의존하도록 주입할 수 있다. IoC Container는 객체 생성 대상으로 지정된 객체를 관리하며 자동으로 객체를 생성하고, annotation을 통해 클라이언트의 코드 변경 없이 다형성을 구현할 수 있게 해 준다. 이는 클라이언트가 아닌 프레임워크가 제어 권한을 갖고 있기 때문에 가능한 것이다. IoC IoC(제어의 역전)는 프로그램의 제어 권한이 뒤바뀌는(inver.. 더보기