SystemDesignに関するhathewyのブックマーク (1)

  • 状態(State)の完全ガイド ── なぜ「状態 > 結合」なのかを根底から理解する

    はじめに 前回の記事「VUCAからコードレビューまで一の線で繋がる話」で、ソフトウェア設計における優先順位「状態 > 結合 > 複雑性 > コード量」を紹介した。変更しやすさを最も損なうものから順に排除せよ、という指針だ。 記事では、その最上位にある「状態(State)」を深掘りする。なぜ状態が結合よりも優先されるのか。そもそも状態とは何を指すのか。どう向き合えば良いのか。 前回と同様、この記事はビジネスアプリケーション開発の文脈を前提としている。パフォーマンスが最優先のHFTや、安全性が最優先の組み込みシステムなど、変更しやすさより他の品質特性が優先されるドメインでは、ここで述べる優先順位が変わりうる。 1. 状態とは何か:最も広い定義 状態とは、同じコードが、あるタイミングや条件によって異なる振る舞いをする原因となるすべてのものだ。 この定義は意図的に広い。DBのカラムだけが状態で

    状態(State)の完全ガイド ── なぜ「状態 > 結合」なのかを根底から理解する
  • 1