Задать вопрос
Georgy100
@Georgy100

Правильно ли я пониманию, что архитектура «битрикс управление сайтом» несколько кривая?

В официальной документации написано про MVC и что модуль - это Model, компонент - это View и Controller.
Также рекомендуется все изменения в программном коде делать, изменяя, добавляя функциональность в компонент, т.е по сути создавая "толстые котроллеры".
Я много читал, что толстые котроллеры - зло. Означает ли это что архитектура битрикса кривая?
  • Вопрос задан
  • 169 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 2
Я бы сказал - своеобразная.
Там насколько мне помнится, написано что компонент - контроллер, а его шаблон это вьювер.
Да, формально, если разобраться, так и есть.
На практике у этого подхода есть как недостатки, так и преимущества.
Ну к примеру мы говорим что якобы все три части у нас независимы, но на самом деле View всегда связаны с Controller, а Controller почти всегда связан с Model. В Битриксе не стали делать вид что это не так - компоненты это части модулей, а шаблоны не отделимые, хотя и сменяемые части компонентов. В большинстве случаев это соответствует практическим кейсам.

Но никто не заставляет вас следовать этим рекомендациям. За свою жизнь разработчиком я видел многое и чаще всего это были какие-то попытки реализовать отдельные модели поверх Bitrix API, я и сам не однократно так делал и даже предпринял попытку обобщить этот опыт, пока не завершенную.
Но я видел так же например и ZendFramewormk поверх Bitrix и вполне классическим MVC.
Поэтому архитекутра Битрикс не приговор.

А ноги такой архитектуры растут из попытки сделать CMS с которой, хотя бы в теории, мог справится человек совсем без подготовки. Надо же что-то показывать на презентациях. Но это не значит что вы обязаны делать и свои продукты для презентаций.
Рекомендации же делать именно так нужны для того, что бы вы делали проект, максимально привычный для любого битрикс-разраба. Когда я впервые столкнулся со связкой Bitrix-Zend я честно говоря опешил, и если бы не опыт с дргуими фреймворками и CMS долго бы тупил...
Ответ написан
Комментировать
gromdron
@gromdron
Работаю с Bitrix24
Если смотреть на вещи реальнее скорее это ошибка в документации. По сути архитектура битрикса это не MVC, это некий набор из конкретных архитектур и стоит рассматривать их независимо. Если говорить о Компонентах, Моделях и Шаблонах, то битрикс скорее это MVVM модель, где компонент - ViewModel, шаблон это View, а Model это фундаментальная часть данных без бизнес-логики.

Означает ли это что данная архитектура кривая? Нет, вовсе не означает. Просто она реализует совершенно иной подход, который чужд многим разработчикам из мира фреймворков и моно-проекта.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы