본문 바로가기

CS/디자인 패턴

의존성주입(Dependency Injection)

메인 모듈(main mudule)이 ‘직접’ 다른 하위 모듈에 대한 의존성을 주기보다는 중간에 의존성 주입자(dependency injector)가 이 부분을 가로채 메인 모듈이 ‘간접’적으로 의존성을 주입하는 방식

 

싱글톤 패턴의 의존성이 높다는 단점은 의존성 주입(DI, Dependency Injection)을 통해 모듈간의 결합을 조금 더 느슨하게 만드는 방식으로 해결할 수 있다.
(의존성이란? 종속성이라고도 하며 A가 BD에 의존성이 있다는 것은 B의 변경 사항에 대해 A 또한 변해야 한다는 것)

  •  장점
    • 테스팅하기 쉽고 마이그레이션 하기도 수월해짐.
    • 애플리케이션 의존성 방향이 일관되고 애플리케이션을 쉽게 추론할 수 있으며, 모듈간의 관계들이 더 명확해 짐
  • 단점
    • 모듈들이 더욱 더 분리되므로 클래스 수가 늘어나 복잡성이 증가될 수 있으며 약간의 런타임 패널티가 생기기도 함

 

출처 : https://velog.io/@soceu/CS%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B41

 

[CS]디자인 패턴_1

디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약'형태로 만들어 놓은 것을 의미싱글톤 패턴은 하나의 클래스에

velog.io

 

'CS > 디자인 패턴' 카테고리의 다른 글

옵저버 패턴  (0) 2022.07.22
전략 패턴  (0) 2022.07.22
이터레이터 패턴  (0) 2022.07.22
팩토리 패턴  (0) 2022.07.22
싱글톤 패턴  (0) 2022.07.22