Во
Но:
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