Open2
DIの概念、DIコンテナについて
Martin Fowlerさんのブログより引用
If you need to get the current date or time in your code, don't access the system routines for that data directly. Put some form of wrapper around it that allows you to override it by setting the "current date/time" to a particular value. This is important to simplify testing.
テスト容易性を上げるために現在時刻にまつわる値を特定の値に上書きできるようなラッパーを用意し、そちらから時刻を利用せよとのこと。