logo
/
副作用のない(疎結合な)システムを作るために
  • REST / 「GET」「POST」「PUT」「DELETE」
    • リソースをURIで識別する
      • URIにより一つのリソース識別する。例えば、顧客・プロダクト・検索結果などをURIで識別できる。
    • ステートレスな通信
      • 各リクエストが独立していて、以前の状態を持たないので、毎回のリクエストに必要な全て情報が含まれる。
  • コマンドクエリ責務分離(CQRS)
    • 更新と取得(書き込みと読み込み)の処理はそれぞれ分けて実装する
      • Getter、Setter、Reduxなどの1方向のデータフローと似た概念かも
      • コマンド
        • メソッドがオブジェクトの状態を変更するのであれば、値を返却しない。
      • クエリ
        • メソッドが値を返却するのであれば、オブジェクトの状態を変更してはいけない。