[데브코스] IoC, DDD, DI

Updated: Categories:

W3D2 - 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)

  • 이해하기 정말 힘들다. 따로 정리할 필요 있음


📢 오늘의 한마디

  • 스프링 기본지식 없이 강의를 들으니 무슨 말인지 하나도 모르겠다.
  • 일단 기본지식부터 쌓는게 먼저인 것 같다. 무슨 수를 써서라도 따라가자
  • 스프링 초짜에게 데브코스 강의 난이도는 불지옥이다. 불에 던져놔도 알아서 살아남자