Попались на глаза как-то исходники одного расширения к
Автор использует
Еще один пример использования
Вообще,
#reactivity
VS Code
.Автор использует
reactive, ref и watch
из Vue
, чтобы организовать в нём реактивность. UI
части нет.Еще один пример использования
Vue
реактивности в Node.js приложении.Вообще,
Reactivity API
как библиотека для удобного определения асинхронных связей между несколькими обычными переменными, обладает самостоятельным функционалом и может использоваться вне Vue.js
фреймворка и фронтенда в целом.#reactivity
GitHub
vscode-deepl/src/state.ts at main · soerenuhrbach/vscode-deepl
DeepL for Visual Studio Code. Contribute to soerenuhrbach/vscode-deepl development by creating an account on GitHub.
👍4
Во
Но:
1. Это не композабл по определению
2. Там не обязательно рефы
3. Они не "глобальны"
В общем случае структура данного объекта - экспортируемые из ES модуля реактивные данные и функции для работы с ними.
Функционально они заменяют "сторы"
Мне кажется, самое подходящее название для данной конструкции - [реактивный] бизнес объект (РБО). В них инкапсулируется логика предметной области и приложения, они не привязаны к конкретным компонентам, и по аналогии с другими языками и фреймворками, этот паттерн -
Кроме того, позиционирование именно как "бизнес объект" будет требовать явного отделения от него инфраструктурного слоя - работы с Backend API, например. То есть, стимулировать использование лучших практик и наработок из других сфер разработки ПО, еще более переводя
#architecture #vuejs #reactivity #rbo #composables
Vue 3
есть важная и нередко используемая конструкция, у которой нет имени. Это то, что обычно называют "композабл с глобальными рефами". Но:
1. Это не композабл по определению
2. Там не обязательно рефы
3. Они не "глобальны"
В общем случае структура данного объекта - экспортируемые из ES модуля реактивные данные и функции для работы с ними.
Функционально они заменяют "сторы"
Pinia
. Называть их тоже stores
двусмысленно и нелогично. Вообще, молиться на "глобальный стейт" после появления идеи JavaScript signals и их всевозможных реализаций, включая Vue Reactivity API
, архаично.Мне кажется, самое подходящее название для данной конструкции - [реактивный] бизнес объект (РБО). В них инкапсулируется логика предметной области и приложения, они не привязаны к конкретным компонентам, и по аналогии с другими языками и фреймворками, этот паттерн -
Business Object
- выглядит вполне подходящим.Кроме того, позиционирование именно как "бизнес объект" будет требовать явного отделения от него инфраструктурного слоя - работы с Backend API, например. То есть, стимулировать использование лучших практик и наработок из других сфер разработки ПО, еще более переводя
Vue.js
из фреймворка для небольших проектов в разряд enterprise level решений.#architecture #vuejs #reactivity #rbo #composables
👍7