Насколько class extends в данном случае оправдано?

WebPHPDev

Новичок
Необходимо разработать крупный проект, который будет включать в себя несколько "редакций" (тарифных планов). Экономичная версия (подешевле) содержит столько-то функций, подороже версия содержит то, что экономичный, но ещё плюс несколько и так далее.

Проект будет писаться с MVC архитектурой. Если у нас будет таких редакций 10, то 10-ый класс расширяет (extends) 9-ый, КОТОРЫЙ в свою очередь уже расширяет 8ой, а 8ой - седьмой и т.д. до первого. Соответственно, если мы берём только 5ую версию, то вложений таких поменьше.

Насколько в данном случае оправдано использование такой технологии или есть решения получше? Насколько оптимально это, загружать в память 10 классов? 10 классов моделей + 10 классов контроллеров = 20 классов, как минимум, + несколько классов видов. Сильно ли будет тормозить такая конструкция, есть ли решения работоспособнее?

Просто, если писать 10 разных версий устроить так, что просто их раскопировать по соответствующему набору функционала (в первом меньше всего функций, во втором функций побольше, но он при этом абсолютно не зависим от первого, третий также независим и т.д.) - такой проект очень геморно поддерживать. Нужно сделать одну правку - делаешь десять.

Как поступают в данных ситуациях?
 

Redjik

Джедай-мастер
Разбить на компоненты и сделать декоратором
 

WebPHPDev

Новичок
Почитал о декораторе. Не очень понял, а чем это отличается по результатам работы от extends'a? Что то расширяет функционал, что то..
 

fixxxer

К.О.
Партнер клуба
В PHP отсутствует множественное наследование. Этим, собственно, и отличается в первую очередь.
 
Сверху