.NETアプリケーションのアーキテクチャやフレームワーク、設計に役立つ情報を中心に紹介しています。また業務システムに役立ちそうなユーティリティやノウハウをサンプルコードつきで公開しています。言語はC#とVB.NETを扱っています。 NUnitなどを使って単体テストを行うためには、インターフェイスと実装を分け、依存関係を逆転させた設計が必要だと筆者は考える。この設計にしておけば、テストケースからテスト対象のクラスを呼び出し、モックオブジェクトのダミーデータでテスト対象のロジックを検証することができる。 ビジネスロジックを格納した納期回答クラスと、生産管理DBにアクセスするクラスがあったとする。納期回答クラスは納期回答の依頼を受けると、生産管理DBクラスから商品の生産完了日を取得して、業務ルールを加えて呼び出し元に納期回答日を返すとする。 下図(左)は、インターフェイスと実装を分けて作った場合