본문 바로가기

Dependency Injection

(5)
리액트와 유닛 테스트를 위한 클린 아키텍처 [부제, 의존성 주입은 정말 필요한가?] 아래 글에 포함하려다 따로 떼내어 적습니다. https://itchallenger.tistory.com/771 헥사고날 아키텍처와 관심사의 분리를 이용한 클린 코드 1. 어니언, 헥사고날 아키텍처 헥사고날, 어니언 아키텍처는 port, adaptor 패턴의 별칭일 뿐입니다. https://blog.ploeh.dk/2016/03/18/functional-architecture-is-ports-and-adapters/ Functional architecture.. itchallenger.tistory.com 리액트의 모든 컴포넌트 인터페이스는 다음과 같이 추상화 할 수 있습니다. (props:React.ChildrenWithProps)=>React.ReactNode 하지만 보통 구체적인 구현체인 평션 컴포넌..
리액트의 의존성 주입 [NestJs의 모듈로 살펴보는] NestJS의 모듈 모듈은 고수준 모듈(코드)가 런타임에 제공받을 실제 구현을 지정할 수 있는 빌딩 블록입니다 React의 Context API 정의는 Props Drilling을 피하기 위한 도구이지만, IOC 컨테이너와 같이 해당 컨텍스트에 의존성(실제 구현)을 지정해주는 역할을 합니다. NestJS와 리액트 컴포넌트의 대응관계 NestJS의 IOC 컨테이너 : 리액트 런타임 NestJs의 Module : 리액트의 Context API NestJS의 Provider : 리액트의 Context Provider NestJS의 Interface : 컨텍스트 타입 시그니처 T 참고 https://itchallenger.tistory.com/766 Dependency Inversion Principle wit..
리액트의 의존성 주입 with Context API (dependency injection) 중간에 useContext훅을 끼워넣으면 Consumer가 사라지고, 컴포넌트는 Context의 존재에 대해 몰라도 됨. 같이 보면 좋을 글 https://itchallenger.tistory.com/646 리액트 프로젝트의 결합도를 관리하는 방법 원문 : https://betterprogramming.pub/coupling-cohesion-552b022492b2 Organizing Modules in React Project — Low Coupling and High Cohesion Design robust applications betterprogramming.pub 서로 분리되.. itchallenger.tistory.com https://itchallenger.tistory.com/644 리액트 ..
IOC(Inversion of control : 제어의 역전) 컨테이너와 DI(Dependency Injection : 의존성 주입) 패턴. Service Locator 패턴. 주 : 객체 지향 프레임워크에서 배울 점. 예전과 다르게 요즘은 마이크로서비스의 인기에 힘입어. 경량 프레임워크 상에서 개발을 지향하는 케이스가 점점 커지고 앞으로도 더 그렇게 될 것이라 생각한다. (serverless, fission, sam 등) 이런 프레임워크의 특징은 이미 있는 프레임워크(spring, nestjs)를 이용하기 보다는, 필요하면 그때그때 구축해서 사용하는 것을 지양하는데, 함수형이거나 클래스이거나 기능을 적절하게 나누는 것이 필요하다. 이를 단일 책임 원칙(Single Responsibility Principle)이라 하는데, 해당 클래스(혹은 함수 - 모듈)가 단 하나의 변경의 원인을 가져야 한다는 것이다. 더 나아가서 모듈이 잘 분리가 된 상태라면, 개발자가 기능을 추가하거나 ..
Context API(컨텍스트API)는 Dependency Injection(의존성 주입) 수단이다. 원문 : React Context for Dependency Injection Not State Management (testdouble.com) React Context for Dependency Injection Not State Management Dive into the concept that React Context API is primarily a tool for injecting dependencies into a React tree and how we can use that to improve testability, reusability, and maintainability of our … blog.testdouble.com TLDR : ContextAPI는 전이적 의존성을 추상화하기 위..