[데브코스] IoC, DDD, DI
Updated: Categories: TILW3D2 - IoC, DDD, DI에 대해 공부해보자
IoC (Inversion of Control)
- 제어의 역전을 뜻한다
- 객체 생성 및 관리를
IoC 컨테이너
라고 불리는 클래스에서 모두 수행하게 된다. - 팩토리 메소드 패턴과 매우 유사한 것 같다
Spring에서의 IoC
BeanFactory
: Spring에서 지원하며, IoC 컨테이너의 기능을 정의하는 인터페이스이다.Bean
: IoC 컨테이너에 의해 생성되고 관리되는 객체이다ApplicationContext
: BeanFactory가 제공하는 기능 + AOP, 메시지 처리, 이벤트 처리 등의 기능을 제공한다.Configuration MetaData
: Bean 객체 생성시 메타데이터를 ApplicationContext로부터 받아오는 것GenericXmlApplicationContext
: xml 기반 구현체 생성AnnotationConfigApplicattionContext
: 어노테이션 기반 구현체 생성
Circular Dependency
- IoC 컨테이너 내의 Bean들은 서로 참조가 가능하다.
- 하지만 순차적으로 참조하는 것이 아닌 순환하여 참조하게 된다면 오류가 발생한다
DDD (Domain Driven Design)
- 이해하기 정말 힘들다. 따로 정리할 필요 있음
📢 오늘의 한마디
- 스프링 기본지식 없이 강의를 들으니 무슨 말인지 하나도 모르겠다.
- 일단 기본지식부터 쌓는게 먼저인 것 같다. 무슨 수를 써서라도 따라가자
- 스프링 초짜에게 데브코스 강의 난이도는 불지옥이다. 불에 던져놔도 알아서 살아남자