Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Требования к модульной архитектуре #6

Open
north-leshiy opened this issue May 7, 2023 · 1 comment

Comments

@north-leshiy
Copy link

north-leshiy commented May 7, 2023

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

Требования:

  1. Папка модулей должна быть стандартизирована
  2. Требования к структуре модулей хотя бы верхнеуровнево должна быть стандартизирована
  3. Необходим механизм регистрации модулей в базовом конфиге
  4. Модули не должны регистрироваться в базе как в старом битриксе

Хорошее решение для примера: https://symfony.com/doc/current/bundles.html
Давайте возьмем такой же принцип регистрации модуля. Что у модуля есть базовый класс, который мы просто регистрируем в конфиге проекта чтобы его "включить".

Тезисы:

  • Наличие модульной структуры в битриксе - это сильная сторона.
  • Самый лучший вид монолита - модульный монолит.
  • Мы должны сразу задавать правила хорошего тона для разработчиков.
  • В противном случае мы получим хаотическую структуру как в типовом laravel, где не было нормального наставника чтобы пояснить за модули.
@north-leshiy north-leshiy changed the title Необходимость жесткого требования к модульной архитектуре Требования к модульной архитектуре May 9, 2023
@dmbitrix
Copy link
Contributor

Установка своих модулей предполагается тем же механизмом, что и вендора - через composer или compoer-like систему. Это предполагает их сохранение в условном vendor с последующей регистрацией в проекте.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants