Войти с помощью github
Форум /

Доброго времени суток. Я в беме новичек, но заметил одну характерную черту bem библиотек - они жестко связаны. Пример: bem-mvc. Я понимаю, что библиотека разработана в контексте bem, но допустим мне понравилась реализация моделей и я хочу использовать модели и только, но судя по всему такой возможности нет - потому что имеет жесткую зависимость от bem-core. Ожидание:

import {createModel} from 'bem-mvc';
const User = createModel({ /* config */ });
// I can use model User without bem, or with it
BEM.registerModel('User', User);
// or
BEM.registerModel('User', createModel({ /* ... */ }));

Реальность:

BEM.MODEL.decl({ /*...*/ });

Плюсы от уменьшения связности мне кажутся очевидными. Это: изоляция функциональности, упрощение тестирования, возможность использования моделей в проектах без bem-core, что на самом деле хорошо, потому что инструмент самодостаточен и может использоваться большим количеством людей, которым не нужны лишние зависимости.

Это лишь мое мнение. Извините, если все на самом деле не так.