노드 클린 아키텍처 템플릿
머리말
유지 관리가 쉽고 확장 가능하고 테스트 가능한 코드베이스를 작성하는 것은 대부분의 엔지니어의 꿈이며 소프트웨어 아키텍처가 해결하려는 문제 중 일부입니다.
소프트웨어 아키텍처는 시스템의 청사진 역할을 합니다. 시스템 복잡성을 관리하고 구성 요소 간의 통신 및 조정 메커니즘을 설정하기 위한 추상화를 제공합니다.
내 경력 전반에 걸쳐 많은 JavaScript 및 TypeScript 코드베이스에서 작업한 결과 C#과 같은 기존 언어와 매우 다른 기존 아키텍처를 따르지 않는다는 사실을 종종 알게 되었고 이것이 내가 이 템플릿을 구축하기로 결정한 이유입니다.
템플릿
템플릿은 클린 아키텍처 원칙을 준수하고 확립된 관행을 권장합니다.
특징
제이미리빙스턴 / 노드 클린 아키텍처
클린 아키텍처 원칙을 따르고 모범 사례를 장려하는 노드 템플릿입니다.
클린 아키텍처 템플릿
클린 아키텍처 원칙을 따르고 모범 사례를 장려하는 노드 템플릿입니다.
특징
시작하기
cp .env.example .env yarn install를 실행하여 프로젝트 종속성을 설치합니다.docker-compose up -d npx prisma migrate deploy yarn start 스크립트
빌드 프로덕션 번들
yarn build
린트 프로젝트(eslint)yarn lint
개발 서버 시작yarn start
모든 테스트 실행yarn test
단위 테스트 실행yarn test:unit
기능 테스트 실행(API 테스트)yarn test:functional
View on GitHub
아키텍처가 깨끗한 이유
클린 아키텍처는 많은 이점을 제공하는 실전 테스트를 거친 소프트웨어 아키텍처입니다.
높은 테스트 가능성: 클린 아키텍처는 테스트를 염두에 두고 설계되었습니다
프레임워크 독립적: 특정 프레임워크의 도구에 의존하지 않음(언어에 구애받지 않음)
비즈니스 로직이 캡슐화됨: 시스템에 새 진입점을 쉽게 추가(예: GraphQL)
데이터베이스 독립적: 대부분의 응용 프로그램은 어떤 데이터베이스에서 가져오는지 알지 못하거나 알 필요가 없습니다. 이는 대부분의 소스 코드를 변경하지 않고 새 데이터베이스를 채택할 수 있음을 의미합니다
유연성: 코드 리팩터링 및 유지 관리가 더 쉬워지고 노력이 거의 필요하지 않음
Robert C. Martin(Uncle Bob)의 블로그 게시물this을 읽어 아키텍처에 대해 자세히 알아보십시오.
Reference
이 문제에 관하여(노드 클린 아키텍처 템플릿), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jamielivingstone/node-clean-architecture-template-2359텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)