Задать вопрос
rtutin
@rtutin
Быдлокодер, анархист, аутист

Нужно ли абстрагироваться от фреймворка?

В данный момент испытываю некоторою боль, в связи с тем, что больно уж устарел yii, пора перекатываться на yii2, но для этого придется перекопать все приложение. Ожидаю в скором ту же самую проблему по отношению к Ангуляру, т.к. второй вот-вот станет станет stable.

А если вдруг ваш фреймворк вообще умер, мир идет своим ходом, везде новые фичи, а чтобы их заюзать, нужно как-то встать раком, чтоб все норм стало.

Нормальная ли практика, абстрагироваться от фреймворка? Изолировать все обращения к нему в одном месте и в случае чего, изменить только данное место. По-моему это единственный верный путь, но пока не видел такого нигде и никогда.
  • Вопрос задан
  • 460 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@springimport
Коротко: не советую.

Проблема в том что такая абстракция превратится в новый фреймворк, который будет явно лишним. Потом попробуйте его адаптировать к чему-то другому - утилизируете миллион часов. Если еще есть возможность переписать и необходимость, то лучше это делать прямо сейчас.
Ответ написан
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
С точки зрения теории - это имеет смысл и некоторые шаблоны проектирования решают именно эту задачу.
Но на практике эти затраты, скорее всего, не отобьются: дешевле переписать всё заново раз в три года (там и инсайты какие-то появятся и технический долг можно будет уменьшить), чем огораживаться от фреймворка таким образом.
Ответ написан
TrogWarZ
@TrogWarZ
web developer
Не вижу смысла настолько абстрагироваться ибо вся бизнес-логика хранится в доменных моделях и использует репозиторий для персистентности. Как следствие, при переезде на новый фреймворк доменные модели можно прямо копипастить (иногда даже вместе с юнит-тестами впридачу) – а именно тут и закопана как раз основная работа приложения.
Конечно, придётся переписать не связанные с бизнесом куски типа роутинга/контроллеров/чего-то-ещё на новые – но ведь ради этих более новых и более удобных кусков и затевается обычно весь переезд.
Пишу только исходя из личной практики и того что видел.

То бишь, сначала следует составить максимально подробное описание – ради чего переезд и какой профит он даст кроме ощущения, что "мы пишем на чём-то новом".

В небольших проектах я наоборот часто сильно завязываюсь на фрейморк (кроме доменных моделей, которые суть POPO) – это позволяет использовать его преимущества на 146% – гораздо эффективнее, чем пилить "свой фреймворк для абстракции над фреймворком".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
22 янв. 2025, в 22:30
5000 руб./за проект
22 янв. 2025, в 22:25
50000 руб./за проект