День 48 навчання MERN Stack

Я на 48-му дні своєї подорожі у сфері full-stack розробки.

Учора я перевів свій код на архітектуру MVC. Сьогодні я вдосконалив рівень моделі, використовуючи JavaScript Classes та Object-Oriented Programming.

Я відмовився від використання розрізнених визначень об'єктів. Замість цього я створив класи, що піддаються повторному використанню, для керування операціями з файлами та зберіганням даних. Ця зміна перетворює прості скрипти на масштабовані рушії.

Ось як я структурував свій код у home.js:

  • Конструктор (The Constructor): Я використовую фреймворк класів ES6 для створення стандартної форми даних. Тепер кожен запис про будинок містить назву, ціну, місце розташування, рейтинг та URL-адресу фото. Це забезпечує узгодженість даних на всьому сервері.

  • Метод збереження (The Save Method): Я створив метод .save(). Цей метод асинхронно зчитує наявні дані, а потім використовує fs.writeFile() для оновлення файлу homesdata.json. Це замінює глобальні масиви на контрольований процес зберігання.

  • Статичні методи (Static Methods): Я впровадив статичні методи для отримання даних. Я використовую статичний fetchAll(), щоб витягувати записи з диска. Це дозволяє контролерам отримувати доступ до даних без попереднього створення нового екземпляра класу.

Використання класів робить мій код чистішим і легшим для масштабування.

Джерело: https://dev.to/ali_hamza_589ec7b3eb6688d/day-48-of-leaning-mern-stack-123n