노드 클린 아키텍처 템플릿
머리말
유지 관리가 쉽고 확장 가능하고 테스트 가능한 코드베이스를 작성하는 것은 대부분의 엔지니어의 꿈이며 소프트웨어 아키텍처가 해결하려는 문제 중 일부입니다.
소프트웨어 아키텍처는 시스템의 청사진 역할을 합니다. 시스템 복잡성을 관리하고 구성 요소 간의 통신 및 조정 메커니즘을 설정하기 위한 추상화를 제공합니다.
내 경력 전반에 걸쳐 많은 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.)