프레임워크의 배선 서비스 및 작동 방식

3532 단어 oopdesignarchitecture
내가 DDD(Domain Driven Development)와 같은 클린 아키텍처를 배우고 서비스에서 비즈니스 로직 분리를 배우기 시작했을 때 가장 중요한 질문은 서비스 간 통신을 개선하기 위해 따라야 하는 모범 사례는 무엇입니까?
오늘 우리는 클래스 간의 통신과 Nestjs, Angular 및 Laravel과 같은 대부분의 프레임워크에서 작동하는 방식과 관련된 많은 사항에 대해 논의할 것입니다....

우선 이 인용문을 두 번 읽어야 합니다.

Every App is The Result of Aggregation of Several Components and App Grows, the Way we connect these Components Becomses Win Or Lose Factor For the Maintainability and Success Of The Project
This Great Quote From Nodejs Design Patterns Book And Most of Code Snippets Also



이제 시작하자



1-블로그 서비스와 2-사용자 서비스가 있습니다.
사용자 서비스는 블로그 서비스에 의존하기 때문에 사용자 서비스에서 블로그 서비스를 사용하고자 합니다.



하지만 친구 서비스와 사용자 서비스처럼 더 많은 서비스가 있다면 모든 새 개체에 새 개체를 만들까요?



가장 먼저 떠오르는 것은 싱글톤으로 만드는 것입니다.
Singleton Object는 배선 모듈을 위한 이상적인 솔루션인 모든 곳에서 사용하지만 이 솔루션에는 여전히 쉽게 해결할 수 있는 병목 현상이 있습니다.

의존성 주입


  • 모의 서비스
  • 모듈 간 디커플링 개선
  • 전체 개체도 변경한다고 가정해 보겠습니다
  • .
  • 구성 요소 간 관계 이해

  • 의존성 주입 + 싱글톤



    이것은 모듈을 함께 연결하기 위한 이상적인 솔루션이며 IOC(Inversion of Control) 컨테이너가 모듈을 함께 연결하는 데 사용하는 것과 정확히 동일한 흐름 및 종속성 트리를 제어할 수 있는 방법입니다.

    의존성 주입 + 싱글톤
    이러한 모듈 간의 통신을 쉽게 만들고 서비스 배선과 관련된 많은 문제를 해결하는 데 도움이 됩니다.

    이것이 대부분의 프레임워크가 이미 IOC 컨테이너를 사용하여 와이어링 모듈의 책임을 타사 패키지로 옮기고 실제로 작동하는 방식과 서로 쉽게 서비스를 주입하는 이유입니다.

    Nestjs 프레임워크



    의존성 주입 + 싱글톤도 사용하는 Nestjs 프레임워크
    그들이 이미 언급한 서비스 간의 통신을 위해
    문서에서 정확히 어떻게 작동하는지 설명하십시오.
    Nestjs Dependency Injection and Singleton

    Javascript를 사용한 간단한 코드 스니펫




    class BlogService {
      constructor() {}
    }
    module.exports = new UserService();
    



    import BlogService from './blogService';
    const userService = new UserService(BlogService);
    


    참조



    Nodejs Design Pattern Book

    Refactoring Guru Design Patterns

    좋은 웹페이지 즐겨찾기