Books

関数型ドメインモデリング ドメイン駆動設計とf#でソフトウェアの複雑さに立ち向かおう

Scott Wlaschin

Product Details

Genre
ISBN/Catalogue Number
ISBN 13 : 9784048931168
ISBN 10 : 4048931164
Format
Books
Publisher
Release Date
June/2024
Japan
Co-Writer, Translator, Featured Individuals/organizations
:

Content Description

ドメイン駆動設計と関数型プログラミングを組み合わせることで、顧客満足度の向上、開発サイクルの短縮、無駄な作業の削減を実現できます。本書では、ビジネスドメインの例とF#のコードで、ビジネスに焦点を当てた、柔軟で高品質なソフトウェアを構築する方法を紹介します。たとえば、F#の型システムを使って複雑なドメインをモデル化し、読みやすいドキュメントにもなるコードを作成します。また、ビジネスルールをエンコードして「コンパイル時ユニットテスト」を作成することで、不正な状態を表現できないようにして潜在的なバグを排除します。関数型プログラミングの核となる原則を適用することで、実世界の要求をエレガントかつ簡潔にモデル化したソフトウェア設計を実現できます。

【著者紹介】
スコット・ヴラシン : F#のエキスパートであり、F#の人気サイトfsharpforfunandprofit.comの著者であり、F# Software Foundationのボードメンバーでもあります。実践的でわかりやすいアプローチで関数型プログラミングの魅力を伝えることに定評があります。スコットは講演者としても人気があり、NDC、F# Exchange、DDD Europe、その他世界中のカンファレンスで講演を行っています

猪股健太郎 : システムエンジニア、ソフトウェア開発者。BIPROGY株式会社勤務。各種業務システムに関する開発支援や開発標準策定等に従事後、数年間の米国駐在を経て帰国。近年はアジャイルソフトウェア開発を含む開発スタイル変革に携わる(本データはこの書籍が刊行された当時に掲載されていたものです)

(「BOOK」データベースより)

Customer Reviews

Comprehensive Evaluation

☆
☆
☆
☆
☆

0.0

★
★
★
★
★
 
0
★
★
★
★
☆
 
0
★
★
★
☆
☆
 
0
★
★
☆
☆
☆
 
0
★
☆
☆
☆
☆
 
0

Book Meter Reviews

こちらは読書メーターで書かれたレビューとなります。

powered by

  • contradiction29

    『単体テストの考え方』を読み、設計について多少の勘所がわかってきて、本格的にドメインモデリングに興味が出てきた。エリック・エヴァンスの本は社内のエンジニア曰く「読まんでいい」と言われたので、この本を読むことにした。 内容は「F#特有の箇所」と「関数型ドメインモデリングの考え方」に大別される。後者が前者に依存する箇所も割と多く、自分がメインで使用しているTypeScriptでは実現できなさそうなものも多い気がする(Result型とか)。ドメインモデリング自体は活かせそうなので頑張っていきたい。

  • taro ymd

    すごく良かった。関数型言語を使ってどうドメイン駆動設計をやっていくのかの本なんだけど、状態遷移を型で表現したり例外発生時の型を利用していくRailway Oriented Programmingの考え方は関数型プログラミングを齧った身としてはすごく勉強になる。F#を使っているせいか、モナドやEffect Systemを使ったモデリングが無いのは物足りなさを感じるけど、難易度が跳ね上がりそうなのでこれくらいでいいのかもしれない。

  • 水紗枝荒葉

    ドメイン駆動開発×関数型言語という異色の組み合わせの本。F#を例に取ってクラス駆動設計(およびデータベース駆動設計)から離れようとする点が面白い。最初にイベントストーミング(業務イベント用のブレインストーミング)を行っているように、イベント駆動の意識が強いようだ。懸念点を挙げるなら、状態を減らす関数型言語と複雑で状態を多数必要としがちな中核ドメインは本当に相性が良いのかが心配になる。本書でも永続化の話は第12章まで待たされる。

  • pea47581220

    ドメイン駆動設計自体の説明は大分あっさりしている 関数型プログラミングでドメイン駆動設計をどう実現するかをポイントを絞って説明している GitHubのコードを読みながらじゃないと、中々理解は進みにくそうには思う

  • ねおさん

    DDDと関数型、双方に興味があり拝読。 ドメインエキスパートと共有したモデルを実装レベルにまで落とし込むことができ、 設計初期の工数はかさみそうだがビジネス側が求めるものとの乖離は確かに減るだろうなと感じる。 F#の型システムを使って、実装レベルにまでドメインの設計を落とし込める上に、コンパイラエラー段階でミスを見つけやすいとのこと。かなり保守しやすそうだ。 かつてTypeScriptの型定義に助けられたことが多かったので、個人的には好きな手法だと感じる。

レビューをもっと見る

(外部サイト)に移動します

Recommend Items