Peasy-JS : 재사용 가능하고 확장 가능하며 테스트하기 쉬운 비즈니스 로직
빌드
Peasy-JS는 복합 가능, 재사용 가능, 확장 가능 및 테스트가 쉽게 비즈니스 로직을 구축하여 응용 프로그램에서 UI, 백엔드 및 데이터 액세스 프레임 워크를 쉽게 교체 할 수있는 중간 계층 프레임 워크입니다. 비즈니스 로직 분리를 촉진하고 테스트, 교체, 재 배열, 재사용을 쉽게 만들 수 있으며 다양한 JavaScript 클라이언트, 서버, 데이터 액세스 기술 및 프레임 워크와 호환되는 응용 프로그램 아키텍처에서 사용할 수 있습니다.
Peasy-JS의 핵심 개념은 다음과 같습니다. 이러한 개념은 비즈니스 로직 오케스트레이션, 데이터 검증 및 데이터 저장 및 검색에서 중요한 역할을합니다. Peasy-JS를 통해 개발자는 코드를 한 번 작성하여 여러 프로젝트에서 재사용하여 시간과 노력을 절약 할 수 있습니다. 여러 클라이언트 프레임 워크를 지원하며 데이터 무결성 및 코드 안정성을 보장하기 위해 데이터 검증 및 테스트 기능이 내장되어 있습니다.
이 기사는 Stephan Max가 동료 검토했습니다. Sitepoint 컨텐츠를 최대한 활용 한 Sitepoint의 모든 동료 검토 자에게 감사합니다!
버려진 프레임이 아닌 프레임 의존성을 제거하십시오
우리는 프레임 워크를 포기해서는 안됩니다. 클라이언트와 서버 측 모두에서 큰 이점을 제공하기 때문입니다. Peasy-JS의 목표는 비즈니스 로직을 종합 가능한 단위로 추상화하여 사용자와 완전히 독립적 인 코드를 작성하는 것입니다. 구성 요소화 된 비즈니스 로직을 통해 이러한 구성 요소를 쉽게 테스트, 교체, 재 배열, 재사용하고 상상할 수있는 JavaScript 클라이언트, 서버, 데이터 액세스 기술 및 프레임 워크와 호환되는 모든 응용 프로그램 아키텍처에서 사용할 수 있습니다.
비즈니스 논리 분리
Peasy-JS는 응용 프로그램에서 UI, 백엔드 및 데이터 액세스 프레임 워크를 쉽게 대체 할 수있는 중간 계층 프레임 워크입니다. 다시 말해, Peasy-JS는 우려 분리 원칙 (SOC)을 준수하는 코드를 작성하여 비즈니스 로직을 수정 가능한 단위로 추상화하도록 안내합니다.
프레임 피로?
나는 당신이 무엇을 생각하고 있는지 알고 있습니다 : "또 다른 프레임 워크?" 예, Peasy-JS는 실제로 미니어처 프레임 워크입니다. 그러나 비즈니스 로직을 구성하기로 결정하면 미니 프레임 워크를 스스로 작성하게 될 것입니다. Peasy-JS는 거의 모든 상상할 수있는 워크 플로를 지원하는 설계, 개발 및 테스트에 많은 시간을 투자합니다. 학습은 저렴한 비용이며 배우는 것이 매우 가치가 있다고 생각합니다.
Peasy-JS가 당신을위한 것이 아니라면, 자신의 비즈니스 계층을 구현하는 방법에 대한 프레임 워크의 몇 가지 패턴에서 통찰력을 얻을 수 있기를 바랍니다.
핵심 개념
peasy-js에는 네 가지 주요 개념이 포함되어 있습니다
사용하기 쉬우 며 유연한 비즈니스 및 검증 규칙 엔진 -
확장 성 및 재사용 성 (사용 코드 및 프레임 워크에서 비즈니스 및 검증 로직을 분리하는 데
테스트하기 쉬운 -
다음은이 네 가지 핵심 개념에 대한 자세한 설명입니다.
BusinessService :
는 엔티티 (예 : 사용자 또는 프로젝트)를 나타내며 명령을 통해 비즈니스 기능을 노출시키는 책임이 있습니다. 이 명령은 CRUD 및 기타 비즈니스 관련 기능을 캡슐화합니다. -
Command : 초기화 로직, 검증 및 비즈니스 규칙의 실행을 조정하는 책임과 기타 로직 (데이터 프록시 호출, 워크 플로 로직 등) 및 명령 실행 파이프 라인을 통해 수행됩니다. 각기.
규칙 :
규칙은 검증 규칙 (필드 길이 또는 필수) 또는 비즈니스 규칙 (승인, 가격 유효성 등)을 나타 내기 위해 생성 될 수 있습니다. 규칙은 명령에 의해 사용되며, 체인 호출은 이전 규칙의 실행 결과에 따라 구성 될 수 있습니다. 규칙은 실행 결과를 기반으로 코드를 실행하도록 구성 할 수도 있습니다.
Dataproxy :
데이터 저장 및 검색을 담당하며 다음과 같은 데이터 저장의 추상 데이터 저장 레이어 역할을합니다. 관계형 데이터베이스, 문서 (NOSQL) 데이터베이스, 서비스, 캐시 테스트를위한 스토리지, 대기열, 파일 시스템 및 메모리 데이터 저장.
-
peasy-js 예제
-
(참고 :이 섹션에서 논의 된 모든 것을 다루는 PLNKR에서 간단한 브라우저 예제를 볼 수 있습니다.)
다음은 Peasy-JS를 사용하여 클라이언트의 각도 서비스에 비즈니스 논리를 작성하는 방법의 예입니다.
(그림 a)
-
다음은 서버 측 Express.js 컨트롤러에서 동일한 비즈니스 로직을 사용하는 방법의 예입니다.
(사진 b)
각 예제에서 비즈니스 서비스에 주입 된 다른 데이터 프록시를 제외하고는 차이가 없습니다. -
데이터 프록시는 파일 시스템 액세스, 데이터베이스, 큐, 캐시, 메모리 및 HTTP 통신의 구체적인 구현을 나타낼 수있는 데이터 액세스 추상화입니다. 이러한 추상화를 통해 필요한 시스템 아키텍처 및 구성을 기반으로 데이터 프록시를 교환하면서 SOC를 시행하여 코드베이스를 통해 재사용하고 쉬운 테스트를 용이하게 할 수 있습니다. 명백하지 않은 것은이 접근법이 데이터의 소스 나 대상에 관계없이 항상 우리의 페이로드를 준수한다는 것입니다. 이것은 곧 나타날 것입니다.
소비 관점에서 볼 때 이것이 전부입니다. Peasy-JS를 사용하여 개발 된 비즈니스 로직 소비는 아키텍처 및 사용 기술에 관계없이 식별 가능한 주제를 소개합니다.
아키텍처에 대해 말하면, 이런 식으로 비즈니스 로직을 개발할 때 쉽게 구현할 수있는 잠재적 아키텍처에주의를 기울이고 Peasy-JS 참가자를보다 심도있는 방식으로 탐색하겠습니다.
(CustomerHttpDataproxy, CustomerMongoDataproxy, CustomerRongoDataproxy 및 기타 코드 예제는 공간 제한으로 인해 여기에서 생략됩니다. 완전한 코드는 원본 텍스트로 제공되었습니다.) .
요약
Peasy-JS는 우리가 사용 된 프레임 워크와 명확하게 분리 된 비즈니스 논리를 작성하도록 권장합니다. 이것의 이점 중 하나는 여러 가지 방법으로 코드를 쉽게 배포 할 수 있다는 것입니다. 마지막으로, 현재의 프레임 워크가 시간이 지남에 따라 나이가 들어감에 따라 새로운 프레임 워크를 쉽게 마이그레이션하거나 채택 할 수 있습니다.
(공간 제한으로 인해 자주 묻는 질문 부분, 여기서 생략됩니다. 완전한 FAQ는 원본 텍스트에서 제공되었습니다.)
위 내용은 Peasy-JS와 함께 재사용 가능한 JavaScript 비즈니스 로직을 작성하십시오의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!