C#でドメイン駆動開発をするうえで私が参考にした書籍ランキング!

当サイトではアフィリエイト広告を利用しています。

C#でドメイン駆動開発

私はメーカーでC#などを使った製品開発をしています。
メーカーの辛さは,製品リリースされたら,ソフトのメンテナンスが必要なことです。

派遣プログラマー時代は,プログラムを作ったら他の現場に派遣されるので,
作った後の世話をする必要がありませんでした。
メーカーだと10年も20年もソフトのメンテナンスが必要です。

絶対的に保守性の高いプログラムが必要

絶対的に保守性の高いプログラムにする必要がありました。
保守性というのは,プログラムの修正が簡単にできるプログラムです。

[chat face=”496313.png” name=”アンダーソン” align=”left” border=”yellow” bg=”yellow” style=”maru”]保守性が高いかを判断する基準は
次のような事です [/chat]
  • どこに何が書いてあるかすぐにわかる事
  • ほしい機能がすでにあるのか無いのかがすぐにわかる事
  • ここを触ったらプログラムのどこに影響がでるかわかる事
  • 他人が見ても簡単に理解できる事
  • 追加修正をする場合も共通の思想で改造ができる事

先人の知恵

保守性の高いプログラムを書く必要性がわかっても,どう書けばいいかわからないと話になりません。私は「オブジェクト指向」と言われる本をたくさん読みました。
でも,それだけではどうにも不十分でした。
そんなときに出会ったのがドメイン駆動開発でした。

それでは私が参考にしたドメイン駆動開発本をご紹介します。

[1]ランキング1位
 
 
 
タイトル ドメイン駆動 (Programmer’s SELECTION)
おすすめ度 [star5.0]
理由 ドメイン駆動開発どC#でどうやって書いていくかと言う視点で,かなり実践的に書かれています。.NETFramework2.0くらいの実装なので,その辺りは少し古さを感じますが,原理は変わりませんので,プログラミングの考え方は今でもそのまま使えます。
 
 
[2]ランキング2位
 
 
タイトル エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)
おすすめ度 [star5.0]
理由 ドメイン駆動開発の原点と言われる本です。ただそれだけに読むのがちょっとしんどいです。本も分厚いのもありますが,読んでいてもなかなか話に入り込めないというか,ちょっと難しめなので星4つにしています。その点でいうとやはり1位のドメイン本の本が,話に入り込みやすくてお勧めです。
 
[3]ランキング3位
 
 
タイトル 実践ドメイン駆動設計 (Object Oriented SELECTION)
おすすめ度 [star5.0]
理由 エリック・エヴァンスのドメイン本を読みやすくして,さらに現代風にリメイクされているようなイメージです。ヘキサゴナルアーキテクチャーの話などは大変勉強になります。原点の本に敬意を払って3位になっていますが,本当の意味では2位とも1位ともいえる内容です。そういう意味で3位ながらもなぜか星5つにしています。読みやすさは結構読みやすいと言う印象です。

詳細

番外編

以上がドメイン駆動本のランキングでしたが,増田 亨さんの次の本もお勧めです。
現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法

私がドメイン駆動開発を学ぶきっかけになったのが,増田 亨さんのブログでした。
その当時まだこの本はなかったので,私は上記3冊を中心に学びました。
当時増田 亨さんの本が出ていれば絶対読んでいたと思います。

まとめ

おすすめは次の4冊。
勉強家の方は4冊マストですがとりあえず取っ掛かりで読むなら増田 亨さんの「現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法」がわかりやすいでしょう。その後にC#向けに1位2位3位の順で読むと理解が深まると思います。

  • ドメイン駆動 (Programmer’s SELECTION)
  • エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)
  • 実践ドメイン駆動設計 (Object Oriented SELECTION)
  • 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法