generated at
GUIのデータアーキテクチャと状態管理の変遷


主にSPAの世界の話

---
---


似ている記事

koushisaメタ認知してきた技術の歴史 (下に向かうにつれ現代に近づく & 個人的な関心が高い)
MV*以前
MV*
React Hooksパターン
Proxyパターン
ミニマムな状態コンテナ
React way
2023年~
サーバを巻き込んだCQRSメッセージパッシングとしてのオブジェクト指向技術基盤の進化に期待している
Next.jsApp RouterEdgeあたりをまとめたSimple志向
番外編

ソフトウェア工学としてのオブジェクト指向は終わった」と言われる背景
>現代の主流は「宣言的プログラミング」であると思っている。これはリソースの宣言と、その状態遷移の手続きや振る舞いの付与が中心にある。

技術基盤の進化
TSの漸進的型付けによるシステム

問題解決空間と時空抽象化
副作用の局所化や中間状態の廃止から得られるテスト容易性

単方向データフロー(unidirectional data flow)がゲームチェンジャーだった

テスト設計にも影響を与える
テスティングトロフィーtesting-libraryによるintegrationテスト
Reducerへのホワイトボックステストのみでは組合わせ爆発を起こしていた
リファクタリング耐性も低く、UIとしては意味のあるテストになりづらかった
これらのBDDフレームワークはビジネス要求の問題領域上で意味のある振る舞いをテストする
ビジネス要求の問題領域上で意味のある振る舞い = ドメインイベント(Domain Event )
GUIドメインイベント(Domain Event ) = ユーザーのインタラクションのイベントハンドラ
実装もドメインイベント(Domain Event )を意識したデータフローにする
a11yをロケータとする
ユーザーの操作を模倣してドメインイベント(Domain Event )を発生させる
前後のDOMのスナップショットを検証する
意味のある振る舞いのテストが書きやすくなった
最近はinteraction testに注目しているkoushisa
バックエンドにも輸入される動きがある
システム設計向けに一般化しているのがDomain Modeling Made Functional
残念ながらフレームワークが追いついていない印象
---





関連