MERN 스택 학습 48일 차

풀스택 엔지니어링 여정의 48일 차를 지나고 있습니다.

어제는 코드를 MVC 아키텍처로 전환했습니다. 오늘은 JavaScript 클래스와 객체 지향 프로그래밍(OOP)을 사용하여 모델 레이어를 개선했습니다.

느슨한 객체 정의 방식을 사용하지 않기로 했습니다. 대신 파일 작업과 데이터 저장을 관리하기 위해 재사용 가능한 클래스를 구축했습니다. 이러한 변화는 단순한 스크립트를 확장 가능한 엔진으로 바꿔줍니다.

home.js에서 코드를 구조화한 방식은 다음과 같습니다:

  • 생성자(The Constructor): ES6 클래스 프레임워크를 사용하여 표준 데이터 틀을 만듭니다. 이제 모든 주택 항목에는 이름, 가격, 위치, 평점 및 사진 URL이 포함됩니다. 이를 통해 서버 전반의 데이터 일관성을 보장합니다.

  • 저장 메서드(The Save Method): .save() 메서드를 생성했습니다. 이 메서드는 기존 데이터를 비동기적으로 읽어옵니다. 그런 다음 fs.writeFile()을 사용하여 homesdata.json 파일을 업데이트합니다. 이는 전역 배열을 제어된 저장 프로세스로 대체합니다.

  • 정적 메서드(Static Methods): 데이터 조회를 위해 정적 메서드를 구현했습니다. 디스크에서 레코드를 가져오기 위해 static fetchAll()을 사용합니다. 이를 통해 컨트롤러는 새로운 클래스 인스턴스를 먼저 생성하지 않고도 데이터에 접근할 수 있습니다.

클래스를 사용하면 코드가 더 깔끔해지고 확장이 쉬워집니다.

출처: https://dev.to/ali_hamza_589ec7b3eb6688d/day-48-of-leaning-mern-stack-123n