티스토리 뷰
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
- scss
- ActivityPub
- rust-lang
- upbit
- 시스어드민
- exercism
- 토이프로젝트
- kotlin당했다
- c++
- C#
- Oracle Cloud Infrastructure
- ArchLinuxARM
- 쿠버네티스
- K8s
- OStatus
- mvu
- 왜 생각이 안 났지
- vuex
- 마스토돈
- 오라클 클라우드
- gitea
- pdf.js
- 업비트
- 오라클 클라우드 인프라
- Godot Engine
- javascript
- 개발기록
- C++ FAQ
- pleroma
- Sass
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
글 보관함