MERNスタック学習 48日目

フルスタックエンジニアへの道のり、48日目です。

昨日はコードをMVCアーキテクチャに移行しました。今日は、JavaScriptのクラスとオブジェクト指向プログラミングを使用して、モデル層を改善しました。

緩いオブジェクト定義の使用をやめ、代わりにファイル操作とデータストレージを管理するための再利用可能なクラスを構築しました。この変更により、単純なスクリプトがスケーラブルなエンジンへと進化します。

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