一键导入
autumn
// Создаёт и настраивает компонентные приложения на фреймворке Autumn (ОСень) для OneScript с DI и аннотациями. Использовать при работе с Autumn, Dependency Injection, «желудями», аннотациями &Желудь, &Дуб, &Верховный.
// Создаёт и настраивает компонентные приложения на фреймворке Autumn (ОСень) для OneScript с DI и аннотациями. Использовать при работе с Autumn, Dependency Injection, «желудями», аннотациями &Желудь, &Дуб, &Верховный.
Создаёт веб-приложения и маршруты на Winow (веб-сервер на OneScript и Autumn). Использовать при веб-сервере на OneScript, маршрутизации, контроллерах Winow.
Создаёт консольные приложения с командами и подкомандами на autumn-cli для OneScript. Использовать при CLI на OneScript, командах приложения, аргументах и опциях.
Пишет и структурирует код на OneScript (BSL без 1С). Использовать при работе с файлами .os, проектами OneScript, packagedef, opm, директивой
| name | autumn |
| description | Создаёт и настраивает компонентные приложения на фреймворке Autumn (ОСень) для OneScript с DI и аннотациями. Использовать при работе с Autumn, Dependency Injection, «желудями», аннотациями &Желудь, &Дуб, &Верховный. |
Фреймворк компонентных приложений для OneScript с Dependency Injection и Inversion of Control. Разрешает зависимости конструкторов автоматически: не нужно вручную создавать цепочки объектов и передавать параметры во все точки создания.
Объект с конструктором, принимающим параметры (зависимости), регистрируется как компонент («желудь»). Вместо вызова Новый Класс(зависимость1, зависимость2) в коде используется Осень.НайтиЖелудь("ИмяКласса") — фреймворк сам создаёт зависимости и передаёт их в конструктор.
#Использовать autumn
#Использовать "Каталог/С/Классами/Команд" // путь к папке с классами-компонентами
Поделка = Новый Поделка();
Поделка.ЗапуститьПриложение();
Каталог с классами должен содержать классы, помеченные аннотациями Autumn (Желудь, Дуб и т.д.), чтобы они регистрировались в контексте приложения.
Обновлятор1С = Осень.НайтиЖелудь("Обновлятор1С");
Идентификатор совпадает с именем класса или с параметром аннотации &Желудь("Идентификатор").
&Желудь("Идентификатор") — класс регистрируется как компонент (желудь). Без параметра используется имя класса. Параметры конструктора разрешаются как зависимости других желудей.
&Верховный — корневой компонент (например, описание приложения). Указывается вместе с &Желудь.
&Дуб — класс-фабрика: не сам является желудем, но в методе с &Завязь возвращает экземпляры других классов (желудей).
&Завязь — метод внутри &Дуб, возвращающий экземпляр класса; используется для регистрации команд/компонентов без аннотаций на целевом классе (например, миграция легаси-кода).
Пример желудя:
&Желудь("Обновлятор1С")
Процедура ПриСозданииОбъекта(ПроверяторВерсий, Настройки)
// ПроверяторВерсий и Настройки будут разрешены Autumn и переданы сюда
КонецПроцедуры
Пример дуба с завязью:
&Дуб
Процедура ПриСозданииОбъекта()
КонецПроцедуры
&Завязь
&КомандаПриложения(Имя = "legacy", Описание = "Легаси команда")
Функция МояЛегасиКоманда() Экспорт
Возврат Новый МояЛегасиКоманда();
КонецФункции
Осень.НайтиЖелудь().autumn-properties.json или в отдельный желудь с интерфейсом настроек.Расширенная справка по аннотациям и конфигурации — reference.md.
Документация: autumn-library.github.io.