9. Чем плоха зависимость?
1. Сложность в тестировании
2. Критерии по Роберту Мартину:
• Жесткость - изменения влекут за собой другие изменения
• Хрупкость - изменения вызывают поломку
• Неподвижность - нельзя использовать повторно
• Вязкость архитектуры - проще писать «плохой» код чем
«хороший»
www.ciklum.net 9
24. Чем хороша внедрения
зависимостей?
1. Возможность тестирования любого класса в
иерархии зависимостей
2. Принцип единой ответственности
3. Критерии по Роберту Мартину:
• Жесткость - изменения не влекут за собой другие
изменения
• Хрупкость - изменения не вызывают поломку
• Неподвижность - можно использовать повторно
• Вязкость архитектуры - нужно писать хороший код!
www.ciklum.net 24
36. Phemto
– автор Маркус Бэйкер
– сайт проекта: http://phemto.sourceforge.net
– это легкий, автоматизированный DI
контейнер (всего три файла)
– выявление всех зависимостей
объекта
www.ciklum.net 36
40. Phemto
Контроль жизненного цикла объектов:
- Всегда создает новый экземпляр объекта
- Отдает ссылки на один и тот же экземпляр
- Хранит экземпляр объекта в системной
переменной PHP $_SESSION
www.ciklum.net 40
41. Полезные ссылки
- Martin Fowler:
http://ow.ly/99dmF
- Fabien Potencier:
http://ow.ly/99dmX
http://ow.ly/99dnd
- Robert C. Martin:
http://ow.ly/99doa
- Phemto:
http://phemto.sourceforge.net
www.ciklum.net 41
42. Спасибо Вам!
Можно задавать вопросы
- P-URL: http://ow.ly/99dvA
- Skype: p.voznenko
- Twitter: pvoznenko
- E-mail: p.voznenko@gmail.com
www.ciklum.net 42