我已经编程了一段时间,但从未有兴趣从理论上了解每个概念的含义,我可能正在使用各种编程概念,但并不知道。
Service Locator:对我来说,是指通过减少代码量来加速开发的快捷方式的记录。一个问题是:Locator 是否可以仅引用命名空间/类,或者我可以拥有一个变量注册表?
以下是我对它的理解:
$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)
那么,理论上(最好有简单的例子),这些概念中的每一个是什么意思?我是正确的,还是有什么问题/可以改进?
谢谢!