テストしやすいコードの例:現在時刻の取得をコード中に直に書かない

http://qiita.com/yuba/items/f52f90c4bd249d24b7d6

1. 時刻取得をするためだけのクラスを作る
2. そのクラスからインターフェースを抽出
3. アプリケーションコードは時刻取得インターフェースを叩くように書き、起動時に本物の時刻取得クラスを注入する
4. テスト時は、テスト用の固定時刻を返すテスト用クラスを注入する
※実際は、テストとアプリで違うのは現在時刻も含んだ「環境」なので環境取得インターフェースを作るべき