분해하고 구성하여 복잡한 문제를 더 쉽게 만드는 방법

Discover Functional JavaScript BookAuthority 선정한 최고의 새로운 Functional Programming 책 중 하나로 선정되었습니다 !

복잡성을 다루는 우리의 자연스러운 방법은 그것을 더 작은 조각으로 나눈 다음 모든 것을 다시 합치는 것입니다.

이것은 2 단계 프로세스입니다.

  • 문제를 더 작은 부분으로 분해
  • 문제를 해결하기 위해 작은 부분을 구성

이해하고 구현하기 쉽기 때문에 작은 부분으로 분해합니다. 더 작은 부품은 병렬로 개발할 수 있습니다.

분해 과정은 책임을 할당하고 이름을 부여하는 것입니다. 이를 통해 쉽게 이야기하고 추론 할 수 있습니다. 책임을 확인하면 재사용 할 수 있습니다.

구성은 작은 부분을 함께 결합하고 그 사이의 관계를 설정하는 것입니다. 우리는 이러한 부분이 통신하는 방식, 실행 순서, 데이터 흐름 방식을 결정합니다.

우리는 시스템이 더 작은 부분으로 나뉘어 있어도 이들 부분 사이에 많은 관계가 있으면 이해하기 어렵다는 것을 알게됩니다. 시스템을 더 쉽게 이해할 수 있도록 부품 간의 가능한 연결 수를 최소화해야합니다.

개체 분해

객체는 상태와 동작이 함께 작동하는 것 이상입니다. 객체는 책임이있는 것입니다.

분해

How to create a three layer application with React, 나는 할 일 목록 애플리케이션을 가져 와서 다음 객체 사이에 책임을 나눕니다.

  • TodoDataService : 서버 Todo API와의 통신을 담당합니다.
  • UserDataService : 서버 사용자 API와의 통신을 담당합니다.
  • TodoStore: 할 일 관리를위한 도메인 저장소입니다. 해야 할 일에 대한 진실의 단일 소스입니다.
  • UserStore : 사용자 관리를위한 도메인 저장소입니다.
  • TodoListContainer : 할 일 목록을 표시하는 루트 컨테이너 구성 요소입니다.

보시다시피 분해 할 때 책임을 할당하고 이름을 부여합니다.

짓다

다음으로 하나의 함수로 함께 구성합니다. 모든 개체가 생성되고 종속성이 주입되는 곳입니다. 컴포지션 루트라고합니다.

Discover Functional JavaScriptBookAuthority의 최고의 새로운 기능 프로그래밍 책 !

React에서 함수형 프로그래밍 기술을 적용하는 방법에 대한 자세한 내용은 Functional React를 참조하십시오 .

React 및 Redux가 있는 Functional Architecture를 사용 하여 프로젝트 기반 방식으로 Functional React를 배우십시오 .

Twitter에서 팔로우