Интеграция чужих библиотек и их сопровождение на php5

Dec 26, 2009 12:54

Вы скачиваете из сети готовый модуль от Дяди Вани, и если в нем Вас что-то не устраивает - то дописываете. Но послушайте, как это элегантно делается. Ведь Дядя Ваня тоже дорабатывает проект, и при очередном слиянии Ваших изменений и новой версии модуля произойдут конфликты. Как я узнал из хороших статей об Dependency Injecttion - нужно не дорабатывать чужой класс, а наследоваться от него. и переделывать лишь те модули. что должны работать иначе. Т.е. есть блог, а Вам стоит изменить поведение всего одного метода по выводу комментариев. Что вы делаете? Берете и "правите" чужой класс. Руки прочь! Сделайте свой класс, отнаследуйте его от оригинального класса и затем в своем классе реализуйте этот один метод с изменениями.

К чему это все? Через месяц Дядя Ваня выпустил обновление своего блога с новыми возможностями. Вы просто перезатираете старый класс новым, и все работает на ура. А если бы Вы правили оригинальный класс - то получили бы еще несколько дней работы по интеграции этого класса.
Previous post
Up