티스토리 뷰
inversify를 사용하면서 자주 사용하는 factory 패턴에 대하여 정리한다.
inversify에서 factory 패턴은 클래스의 인스턴스를 만드는 것을 서브클래스에서 결정하도록 한다는 것입니다. factory 패턴을 찾아보면 서브클래스 안에서 객체를 생성하는 방식을 많이 찾을 수 있다. inversify를 사용하면 서브클래스에서는 객체를 선택만하고 객체 생성은 외부에서 생성하여 서브클래스에 주입하는 방식으로 구현하게 된다.
inversify에서 factory 패턴을 구현할 때 named binding을 많이 사용하게 된다. Named binding은 같은 identifier에서 다른 객체를 가지고 올때 사용한다. inversify에서 named binding은 아래와 같이 구성한다.
https://github.com/inversify/InversifyJS/blob/master/wiki/named_bindings.md
위의 예시와 같이 weapon으로 주입하지만 weak와 strong에 따라 다른 객체를 주입하게 된다.
named binding을 사용하여 factory 패턴을 구현하는 방법은 아래 영상에서 정리한다.
영상에서 구성한 example code는 아래 링크에서 확인할 수 있다.
https://github.com/yogae/inversify-example/tree/master/factory_provider
'develop' 카테고리의 다른 글
GraphQL server 구축에 유용한 module 정리 (0) | 2020.03.12 |
---|---|
3. Test code 작성 + DI (0) | 2020.03.03 |
1. inversify 시작하기 (0) | 2020.02.04 |
새 리전으로 AWS 리소스 마이그레이션 (0) | 2020.01.29 |
Prisma(GraphQL) (0) | 2020.01.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- nginx
- conventional commit
- inversify
- graphql
- AWS community day seoul
- Elasticsearch
- lambda@edge
- NLP
- Python
- slowquery
- Neptune
- Clickjacking
- JavaScript
- nltk
- Lifecycle
- mognodb
- Terraform
- typescript
- aws
- Github Actions
- Develop
- commit message
- Prisma
- Airflow
- shorten
- pagination
- mongoDB
- Cloudfront
- sementic version
- Cognito
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함