это очень топорный пример. на деле все должно быть гораздо интересней и динамичней. я имею введу что объект должен быть доступен в методах при чем метод должн автоматиески получать класс который запросил и инекция должна быть динамической. Это же не так уж сложно могли бы показать.
MavelRoll Отличное замечание! Я тоже это подметил, когда разобрался с DI. Но разница есть. Инъекция зависимостей - более общий паттерн, и в нем речь идёт о зависимости от абстракций, а не конкреций. А стратегия - это решение более конкретной проблемы. Из определения - "стратегия - паттерн, и предназначенный для определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их вщаимозаменяемости."
Спасибо! Просто и понятно
Очень все просто и доступно. Спасибо!
нужно было про интерфейсы уточнить. Это важный момент.
+Анатолий Игоревич
Про интерфейсы в SOLID рассказано
Спасибо ! Очень классно !
а если у нас метод getAllUsers статический, то обьект db мы передадим аргументом данного метода ?
В данном случае стоило бы $db назначить через метод setDB(), а не через конструктор User.
Спасибо. очень просто все и доходчиво
то что объясняешь это называется ДЕЛЕГИРОВАНИЕ в ООП, тема не расскрыта
это очень топорный пример. на деле все должно быть гораздо интересней и динамичней. я имею введу что объект должен быть доступен в методах при чем метод должн автоматиески получать класс который запросил и инекция должна быть динамической. Это же не так уж сложно могли бы показать.
Никому не кажется странными что инъекция зависимостей напоминает паттерн "стратегия"??
MavelRoll Отличное замечание! Я тоже это подметил, когда разобрался с DI. Но разница есть. Инъекция зависимостей - более общий паттерн, и в нем речь идёт о зависимости от абстракций, а не конкреций. А стратегия - это решение более конкретной проблемы. Из определения - "стратегия - паттерн, и предназначенный для определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их вщаимозаменяемости."