私はしばらくの間プログラミングを行ってきましたが、それぞれの概念が何を意味するのかを理論的に知ることに興味はありませんでした.さまざまなプログラミング概念を使用しているかもしれませんが、それを知りません.
Service Locator : 私にとっては、コード量を減らして開発をスピードアップするためのショートカットの記録を指します。1 つの質問は、ロケーターが名前空間/クラスのみを参照できるか、それとも変数のレジストリを持つことができるかということです。
これが私の理解です:
$locator = new ServiceLocator()
$locator->set('app', new System\Application());
$locator->set('db', new System\Pdo());
// Get the objects
$locator->get('db')->connect();
$locator->get('app')->run();
依存性注入 (および依存性注入コンテナー) : オブジェクト内にオブジェクトを注入し、ファクトリ パターンに関係なく、これらへのアクセスを高速化します。そしてDIコンテナ?
これが私の理解です:
$app = new System\Application(System\Config::load());
制御の反転: このデザイン パターンを理解していない (または、理解しているが、IoC を行っているかどうかがわからない)
それでは、理論的に (できれば簡単な例を使用して)、これらの概念のそれぞれは何を意味するのでしょうか? 私は正しいですか、または何が間違っていますか/改善できますか?
ありがとう!