2️⃣

[読書メモ]オブジェクト設計スタイルガイド 8章2節 with TypeScript

2024/03/12に公開

オブジェクト設計スタイルガイドを読みながら、TypeScriptでやるならどうやるかを考えながら書きました。
要約的に読める内容になっていると思うので、サクッと3分ぐらいで読める記事となっています。
https://www.oreilly.co.jp/books/9784814400331/

8.2 ユースケースに特化したリードモデルを作成する

以下のようにすると、結局ループしてデータを作成している。
リードモデルを作成する意味がなくなってしまう。

function execute(request: any) {
    const allOrders = this.repository.findAll();

    const forStockReport = allOrders.map((order) => {
        return {
            id: order.id,
            product: order.product,
            quantity: order.quantity,
            price: order.price,
        };
    }

    return new JsonResponse(forStockReport);
  }

以下のようにすると、リードモデルを作成する意味がある。

function execute(request: any) {
    const stockReport = this.repository.getStockReport();
    return new JsonResponse(stockReport);
  }

Discussion