依存オブジェクト注入コンテナ(DIコンテナ) ■ DIコンテナとは ・依存オブジェクト注入に特化したデザインパターン. ・多くの言語で必須パターンになっている. ■ PHP ・Pimpleライブラリ ・LaravelのServiceContainer機能 ■ Go(ただしGoでは,DIコンテナが黒魔術扱い) ・Google製のWireライブラリ ・Uber製のDigライブラリ use Pimple\Container; use App\Domain\User\Entity\User; use App\Domain\User\ValueObject\UserName; class Container { public function __construct() { $container["user_name"] = function ($container) { return new UserName("Hiroki"); }; // Userへの注入 $container["user"] = function ($container) { return new User($container["user_name"]); }; } }