티스토리 뷰

develop

1. inversify 시작하기

yogae 2020. 2. 4. 23:50

 

IoC란 객체를 생성하고 객체 간의 의존 관계를 프레임워크가 대신 해주는 것을 의미한다. 개발자가 직접 객체를 생성하지 않고 의존 관계를 관리할 수 있게 된다. 객체를 제어하고 관리하는 역할이 개발자로 부터 프레임워크에게 역전 된다.

 

DI(Dependency Injection)는 객체간의 의존성을 자신이 아닌 외부에서 주입하는 개념이다객체 자체가 아니라 Framework에 의해 객체의 의존성이 주입되는 설계 패턴이다. Framwork에 의해 주입되므로 여러 객체 간의 결합이 줄어들고 재사용성이 증가한다.

 

inversify는 IoC(Inversion of Control) 컨테이너이다. DI를 구현하기 위해 javascript에서 많이 사용되는 것은 inversify와 typedi 등이 있다. DI를 구현하기 위해 사용자들이 많이 사용하고 있고 가벼운 inversify를 채택했다.

 

inversify는 javascript와 typescript 모두 구현가능하고 쉽고 빠르게 DI를 구성할 수 있도록 구성되어 있다.

 

inversify 설치

npm install inversify reflect-metadata --save

 

reflect-metadata는 전체 application에서 한번만 import하여 사용해야한다.
inversify는 decorator를 사용하기 때문에 tsconfig.json에서 decorator를 사용할 수 있도록 설정을 변경해준다.

# tsconfig.json
{
    "compilerOptions": {
        "target": "es5",
        "lib": ["es6"],
        "types": ["reflect-metadata"],
        "module": "commonjs",
        "moduleResolution": "node",
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true
    }
}

 

inversify 시작하기 example

'develop' 카테고리의 다른 글

3. Test code 작성 + DI  (0) 2020.03.03
2. inversify factory  (0) 2020.02.19
새 리전으로 AWS 리소스 마이그레이션  (0) 2020.01.29
Prisma(GraphQL)  (0) 2020.01.29
AWS Community Day 2020  (0) 2020.01.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함