Ngày 48 học MERN Stack

Tôi đang ở ngày thứ 48 trong hành trình trở thành kỹ sư full-stack.

Hôm qua, tôi đã chuyển mã nguồn sang kiến trúc MVC. Hôm nay, tôi đã cải thiện lớp model bằng cách sử dụng JavaScript Classes và Lập trình hướng đối tượng (Object-Oriented Programming).

Tôi đã ngừng sử dụng các định nghĩa đối tượng rời rạc. Thay vào đó, tôi xây dựng các class có thể tái sử dụng để quản lý các thao tác với tệp và lưu trữ dữ liệu. Sự thay đổi này biến các script đơn giản thành các bộ máy có khả năng mở rộng.

Đây là cách tôi cấu trúc mã nguồn trong home.js:

  • The Constructor: Tôi sử dụng framework ES6 class để tạo ra một khuôn mẫu dữ liệu chuẩn. Mỗi mục nhà hiện bao gồm tên, giá, vị trí, đánh giá và URL ảnh. Điều này đảm bảo tính nhất quán của dữ liệu trên toàn bộ server.

  • The Save Method: Tôi đã tạo một phương thức .save(). Phương thức này đọc dữ liệu hiện có một cách bất đồng bộ. Sau đó, nó sử dụng fs.writeFile() để cập nhật tệp homesdata.json. Điều này thay thế các mảng toàn cục bằng một quy trình lưu trữ được kiểm soát.

  • Static Methods: Tôi đã triển khai các phương thức static để truy xuất dữ liệu. Tôi sử dụng static fetchAll() để lấy các bản ghi từ đĩa. Điều này cho phép các controller truy cập dữ liệu mà không cần phải khởi tạo một instance mới của class trước đó.

Việc sử dụng các class giúp mã nguồn của tôi sạch sẽ hơn và dễ dàng mở rộng hơn.

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