티스토리 뷰
DI, IoC
Dependency Injection (의존성 주입) 은 어떤 클래스가 의존하는 클래스를 인터페이스를 도입하여 의존성을 독립화하고 런타임에 의존 클래스를 결정할 수 있게끔 하는 기법이다. 의존 클래스를 런타임에 맘에 드는 걸로 골라서 "삽입" 해줄 수 있어서 의존성-주입 이라고 불릴 것이다.
클래스 A가 클래스 B를 참조하던 걸, 클래스 B의 인터페이스 IB를 도입하여 클래스 B를 교체할 수 있게 하고 런타임에 A에 IB를 구현하는 B2 등의 클래스를 사용할 수 있다.
→ 원래는 개발자가 클래스를 만들어서 객체를 만들었다면, 객체 대신 프레임워크가 인터페이스에 해당하는 객체를 삽입해주므로 제어가 반전된다고 해서 IoC.
아래처럼만 해줘도 DI이지만 보통은 프레임워크가 생성자에 대신 넣어줌.
public void MyClass {
IDep1 _dep1;
IDep2 _dep2;
public MyClass(IDep1 dep1, IDep2 dep2) {
_dep1 = dep1;
_dep2 = dep2;
}
}
public static class Program {
public static void Main() {
MyClass(new Dep1(), new Dep2());
}
}
서비스 로케이터
안티 패턴.
TBD
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 시스어드민
- 마스토돈
- exercism
- 오라클 클라우드 인프라
- C#
- upbit
- pdf.js
- OStatus
- gitea
- c++
- kotlin당했다
- 토이프로젝트
- 오라클 클라우드
- scss
- Oracle Cloud Infrastructure
- 쿠버네티스
- 업비트
- vuex
- K8s
- ArchLinuxARM
- mvu
- Sass
- ActivityPub
- javascript
- pleroma
- rust-lang
- C++ FAQ
- 개발기록
- Godot Engine
- 왜 생각이 안 났지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함