書籍
データ指向プログラミング
ソフトウェアがもつ複雑さの軽減に向けて
Yehonathan Sharvit
概要
ソフトウェアの複雑性は「コードと一体化したデータ」から生まれるとし、データを不変な値・ 汎用的な構造(マップ・リスト)として扱うパラダイムを提示。Clojure 由来のアプローチを TypeScript / Java / JavaScript で実践し、ビジネスロジックとデータ表現の分離を実現する。
対象読者
- ソフトウェア複雑性の根源に対峙したいアーキテクト
- 不変データ構造とデータ駆動設計を学びたい中・上級エンジニア
タグ
奥付
- 出版社
- 翔泳社
- ISBN
- 978-4798179797
- 出版日
- 2023年4月
- 参考定価
- ¥3,960税込Amazonの実売価格と異なる場合があります
この本を手に入れる
※ 上記は Amazon アソシエイトによる広告リンクです。関連書籍
前提となる書籍
- 参考
達人に学ぶDB設計徹底指南書 第2版
ミック
理由: RDB のテーブル設計を学ぶと、アプリ側でデータをどう表現するかという設計思想にも関心が及ぶ。Yehonathan Sharvit『データ指向プログラミング』はデータを不変な汎用構造として扱う設計を説き、DB の正規化思想とアプリのデータモデリングを地続きで捉え直す視点を与える。
- 参考
エリック・エヴァンスのドメイン駆動設計
Eric Evans
理由: ドメインモデルをオブジェクトで表現する手法を学んだら、対照的に「コードとデータを分離し、不変データで複雑性を抑える」データ指向の発想に触れ、設計の前提を相対化する。
- 参考
A Philosophy of Software Design, 2nd Edition
John Ousterhout
理由: 複雑性管理の一般原則を得たら、その具体的な処方の一つとして「データと振る舞いの分離・不変性」を掲げるデータ指向プログラミングを検討する。同じ目的に異なる道がある。
次に読む書籍
- 参考
データ指向アプリケーションデザイン
信頼性、拡張性、保守性の高い分散システム設計の原理
Martin Kleppmann
理由: データを不変として扱う設計思想は、分散システムでデータの一貫性やイベント履歴を扱う議論と深くつながる。Kleppmann『データ指向アプリケーションデザイン』はログ中心アーキテクチャやイベントソーシングを扱い、不変データの発想を分散基盤の文脈へ拡張する。