메인 모듈(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