.NET Framework
Essential .NET ― 共通言語ランタイムの本質
Don Box, Chris Sells 著
.NET の仕組みについて突っ込んだ解説がされています。
2001年頃、.NET 1.0 を対象に書かれた本ですが、今も変わらないコアな技術の話で構成されています。
プラクティス
.NETのクラスライブラリ設計 改訂新版
Krzysztof Cwalina, Jeremy Barton, Brad Abrams 著
「良い設計のフレームワーク」を作成するためのガイドライン、プラクティス、アンチパターンをまとめたものです。
個々のガイドラインに対し、Jeffrey Richer, Chris Anderson, Chris Sells ら多数の寄稿者による注釈が付記されています。
重点が少し異なるところもありますが、基本的にはアプリケーション開発者にとっても役立つ汎用的な内容です。
Visual Studio のコード分析機能(参考:弊社コード標準化支援)に実装されているものも多くあります。
Adaptive Code ~ C#実践開発手法 第2版
Gary McLean Hall 著
「アジャイル開発のフレームワーク」「アダプティブコードの基礎」「SOLIDコード」「アダプティブコードの適用」の四部構成で、「適応力のあるコード」を目指す本です。
オブジェクト指向設計の SOLID 原則について書かれた部分は、アジャイルに関係なくお勧めです。
デザインパターンや .NET の言語サポートと絡め、各原則の実用的な意義がサンプルコード付きでわかりやすく解説されています。
WPF
エッセンシャル WPF
Chris Anderson 著
WPFチームのチーフアーキテクトがWPFの基本概念について解説したものです。
WPFの心がわかります(WPFが目指したことの理解に役立ちます)。
プログラミング Windows 第6版 上
Charles Petzold 著
副題に「C#とXAMLによるWindowsストアアプリ開発」とあるとおり、ストアアプリを対象としていますが、多くの部分はWPFにも(一部読み替えて)適用できます。(参考:プログラミング Windows 第6版 WPF編)
そこそこの分量(720ページ)があって章立ても網羅的なことから、辞書的に使おうとお考えになるかもしれませんが、通読に向いています。
MVVM についても一章割かれています。
ASP.NET MVC
プログラミング Microsoft ASP.NET MVC
Dino Esposito 著
APIの解説から具体的な実装手法、アーキテクチャまで。
ユニットテストにも一章割かれています。
Entity Framework
Programming Entity Framework
Julia Lerman 著
英語でかなりの分量がありますが、日本語の本がない現状では、頑張って読む価値があります。
あまり知られていないソリューションがコード付きで紹介されていたりするので、興味のあるトピックを拾い読みするだけでも役に立つと思います。
ただし、最終第2版が2010年の刊行(CodeFirst / DbContext が導入されたEF4.1は第3刷でようやく触れる程度)と、結構年数が経っています。
新しい機能は他書や技術サイトで補ってください。
非同期処理
C#によるマルチコアのための非同期/並列処理プログラミング
山本 康彦 著
.NET 1.x から .NET 4.5 までの非同期処理技術の進化を、豊富なサンプルコードとともにわかりやすく解説しています。
ThreadPool ~
APM (Asynchronous Programming Model) ~
EAP (Event-based Asynchronous Pattern) ~
TAP (Task-based Asynchronous Pattern) ~
async/await
ユニットテスト
The Art of Unit Testing: with examples in C#
Roy Osherove 著
依存性の切り離し方、モックライブラリの使い方から、テストクラスのパターン/アンチパターンまで。
「モックとスタブの違いは?」といったトピックもあります。
番外編
ADO 集中講座
Rob Macdonald 著
ADO.NET ではなく、ADO の本です。
(出番はかなり少なくなりましたが、VBA や古いアプリケーションの保守など、まだまだ活躍する機会はあるでしょう)
Redordset の高速な操作、階層化... ADO を使い尽くすことができます。
標準 FindBugs 完全解説
宇野るいも, arton 著
Java 用のバグ発見(静的解析)ツールのルール解説書です。
各ルールについて、なぜそれが潜在的なバグなのか、丁寧に説明されており、.NET プログラマにも得るところがあります。
よいプラクティスの生まれる一つの源になるかもしれません。
誰よりもバグが嫌いな方にお勧めです。
オフショア開発に失敗する本―中国オフショアのリスク管理
幸地 司 著
文化、常識の異なる人たちと一つの物を作り上げるときの心構えが学べます。
事例も教科書的でなく現場に即したもので、発注側/受注側双方の立場、気持ちの理解に役立ちます。
2008年刊行のため、業界の動向に関する記載に古い点もありますが、オフショア開発はもちろんのこと、国内のアウトソーシングや国際交流一般にも応用できる内容です。