Node.js 디자인패턴을 읽으며 요약/정리한 내용입니다.
Chapter 01) Node.js 플랫폼에 대하여
개요
- Node.js의 철학 "Node way"
- Node.js 버전 6와 ES2015
- Reactor 패턴 - Node.js 비동기 아키텍처의 핵심 매커니즘
1.1 Node.js 철학
1.1.1 경량 코어
- Node.js의 핵심 코어를 최소한의 기능을 제공하도록 구성하고, 그 외의 모든 영역을 모듈 생태계에 맡기는 것
- 유지보수 측면에서 편리함과 Node.js 생태계 발전에 긍정적인 문화적 영향을 가져옴
1.1.2 경량 모듈
- 모듈 개념을 프로그램 코드를 구성하는 기본 수단으로 사용
- 어플리케이션과 패키지라고 하는 재사용 가능한 라이브러리를 만들기 위한 조립용 블록
- 즉, 여러 모듈을 조합하여 어플리케이션, 패키지, 라이브러리를 만들어 사용하는 방식
- 모듈 설계 원칙: 코드 크기와 범위적인 면에서 작은 모듈을 설계, 유닉스 철학에 뿌리
- "작은 것이 아름답다"
- "각 프로그램이 각기 한 가지 역할을 잘하도록 만든다"
- 설계 원칙에 따른 장점
- 이해하기 쉽고 사용하기 쉽다.
- 테스트 및 유지보수가 훨씬 간단하다.
- 브라우저와 완벽한 공유가 가능하다.
1.1.3 작은 외부 인터페이스
- 모듈은 크기, 범위가 작고, 최소한의 기능만을 노출하는 특성을 가짐
- 가장 일반적인 패턴은 함수나 생성자를 사용하여 하나의 핵심적인 기능만 노출, 그 외 추가적인 고급 기능, 보조 기능은 노출한 기능의 속성이 되도록 하는것
- 모듈의 다른 특성은 확장보다 실제 사용을 목적으로 만들어진다는 것
- 유스케이스 감소, 구현 단순화, 유지 관리 용이, 가용성을 향상시키는 장점을 가짐
1.1.4 간결함과 실용주의
- 부족하지만 단순한 기능이 소프트웨어에 있어서 더 좋은 디자인
- Node.js에서는 JavaScript를 통해 단순한 설계를 가능하게 함
- 합리적 수준의 복잡성을 가지고 더 빨리 작업하는 것이 더 큰 성공