まさこは技術メモ

Unityエンジニアのつぶやき

クリーンアーキテクチャ 18章~20章

第18章 境界の解剖学

  • システムのアーキテクチャはソフトウェアコンポーネントとそれらを分離する境界によって定義される
    • あるあるなのがクラス内に全く関係ない処理が入っていて「境界とは?」となることも多い
  • 境界は物理的なものが存在しない
    • 存在していたらちゃんと部品にわけてくれたかもしれない

第19章 方針とレベル

  • ソフトウェアシステムは方針を示したもの
    • 方針を示しているだけであると思う。いろいろと雁字搦めになっていたら、開発スピードが尋常じゃなくおそくなる
  • 関数の引数の中に関数の引数のなかに関数書くな!!読めるか!!!
    • 関数一つひとつの役割を正しく分離することで、自ずと方針が決まってくるよね(ただしコードレビュー無しでは地獄しかみえないけど)

第20章 ビジネスルール

  • エンティティは他のなににも依存しないデータが格納されまくったクラス
    • これは API のレスポンスにも言えることで、レスポンスをそのまま使うのではなく、エンティティに一度変換してから API のレスポンスを使ったほうがよい
    • たまによくあるのが、このAPIにこれとこれとこれで機能実現できるから、それで判断してというパターン
      • エンティティクラスでラップしていれば、レスポンスの3つの要素をロジックで計算できる。レスポンスだけではロジックが書けないので、その場面になると必要な場面で if( _ && _ && _) みたいなのを毎回かかないといけなくなる地獄が待っている