Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

IoC / DI
Anchor
IoC / DI
IoC / DI

  • 소프트웨어 공학에서는 일반적으로 높은 응집도(cohesion)와 낮은 결합도(coupling)를 지향함.
  • 와이어링(Wiring)
    • 객체는 홀로 동작하지 않고, 서로 협력하여 목적을 달성하기 위해 다른 객체를 참조하게 됨.
 이를 wiring이라고 함.
    • 사용할 클래스를 생성하기 위해 new 연산을 하게 되는데 이 때 의도치 않은 구체적 구현체에 대한 참조 발생.
  • 제어의 역전 (IoC)제어의 역전 (IoC)
    Anchor
    body_ref_02
    body_ref_02
    [2]
    • Inversion Of Control
    • 컴퓨터 프로그램의 사용자 지정 부분(프로그래머가 작성한 소스코드가 소스코드)이 프레임워크의 흐름제어를 받는 소프트웨어 디자인 패턴임.
    • 프레임워크의 일반적인 속성. 콜백 프로그램만 작성하면 됨. 
    • 헐리우드 법칙
  • 의존성 주입 (DI)
    Anchor
    body_ref_03
    body_ref_03
    [3]

    • Dependency Injection
    • IoC 구현을 통해 의존관계 해결을 위한 소프트웨어 디자인 패턴임.
    • 테스트 하기 용이한 구조를 유도할 수 있음.

    • 스프링은 xml 설정이나 애노테이션을 통해 의존성 주입을 쉽게 할 수 있는 방법을 제공함.

Info
title참고

IoC 및 DI와 관련하여 아래 링크를 참고하자.

...

Anchor
comment_01
comment_01
[1] ^ https://www.martinfowler.com/bliki/POJO.html

Anchor
comment_02
comment_02
[2] ^ https://en.wikipedia.org/wiki/Inversion_of_control

Anchor
comment_03
comment_03
[3] ^ https://en.wikipedia.org/wiki/Dependency_injection