Skip to content

700nov/bitrix_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Тестовое задание BITRIX - Ответы на вопросы

  1. Какие паттерны проектирования используется в ядре битрикса?

    Схема модулей и компонентов является паттерном MVС, о чем упоминает документация. Также, по ее утверждению, в компонентах реализуется паттерн Carrier Rider Mapper. Статья https://dev.1c-bitrix.ru/community/webdev/user/2000/blog/what-design-patterns-using-bitrix/ описывает вероятное использвование еще и следующих паттернов: Observer, Singleton, Front controller, Adapter, Decorator. Но это не точно.

  2. Как применяется ORM в D7?

    Применяется по схеме Менеджер -> Сущность -> Поля. Генерируется ORM класс-наследник Bitrix\Main\Entity\DataManager в нём переопределяются методы getTableName (сущность) и getMap (поля сущности). На базе этого класса работаем с объектами данных таблиц.

  3. В каких случаях нужно использовать result_modifier?

    В случаях, когда нужно вывести дополнительные данные в $arResult без переписывания компонента.

  4. В каких случаях нужно писать собственный компонент?

    Если проще написать собственный, чем полностью переписывать логику существующих компонентов. Или же, если производительность компонента критична и нам нужно бороться за ресурсы сервера.

  5. В каких случаях нужно писать собственный модуль?

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

  6. Как можно модифицировать поля при обмене с 1С?

    Если используется стандартный механизм интеграции: для модификации при экспорте - кастомизировать компонент sale.export.1c, создать класс-наследник CSaleExport и вызовы в компоненте заменить на него. Для модификации при импорте - использовать событие OnSuccessCatalogImport1C.

  7. Как получить значение свойства элемента инфоблока, используя D7?

    Предположу, что потребуется обратиться с запросом к сущности через класс ElementTable, например: $result = \Bitrix\Iblock\ElementTable::getList(array('select' => array("NAME")));

  8. Для чего нужна папка local?

    Для всего кастомизированного, чтобы обновления ядра не затрагивали измененные файлы и наоборот.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors