Символическая ссылка на класс

whirlwind

TDD infected, paranoid
Ну так с ходу не скажу. Зависимости они ведь разные бывают. Бывают необходимые, а бывают что и не очень. Например очень многие зависимости можно отодвинуть с помощью Observable. Одно могу сказать на 100% сейчас в моих проектах нет ни одного статика. Хотя нет вру, новые валидаторы сейчас пробую имплементировать в статике. Но это первый эксперимент со статиком за последний год кажись.
 

fixxxer

К.О.
Партнер клуба
хм, спасибо, мысли появились...

вообще задумываюсь о том, чтобы попрограммировать на каком-нибудь ерланге для прочищения мозгов - обходятся же там люди без хранения состояний вообще :)
 

whirlwind

TDD infected, paranoid
Вот еще кстате вариант избавления от зависимостей. Если инстанцирование делает фабрика, то ее можно декорировать инжектором

PHP:
class Injector implements Factory {
    protected $factory,$spool;
    
    function __construct(Factory $factory, Spool $spool)
    {
        $this->factory = $factory;
        $this->spool = $spool;
    }
    
    function produce($bp)
    {
        $instance = $this->factory->produce($bp);
        switch ( $bp )
        {
            case '/index':
            case '/callback':
            case '/foobar':
                $instance->setSpool($this->spool);
                break;
        }
        return $instance;
    }

}
сам $instance знает только интерфейс
 
Сверху