Это может показаться глупым вопросом на поверхности, но почему шаблон Hot Towel SPA включает Breeze вообще?
Я провел последние несколько дней, изучая Hot Towel и его зависимости, и насколько я могу судить, ничто в шаблоне не использует Breeze. Возможно, это изменится в будущем выпуске?
Конечно, Бриз - хорошая библиотека. Но он связан с методологией CRUD и требует, чтобы вы разработали свой ApiControllers определенным образом. (Метаданные, SaveChanges и т.д.) см. Здесь
Он также ведет вас к Entity Framework. Хотя это скорее мягкая зависимость, так как Breeze также показывает образец без него, он по-прежнему ведет вас к аналогичной схеме реализации с использованием модифицированного шаблона репозитория.
Если вы используете хранилище данных NoSQL или шаблоны CQRS вместо CRUD, Breeze становится очень сложным в использовании. Существуют альтернативные библиотеки для доступа к данным, которые хорошо работают в этом стиле, например AmplifyJS.
Но остальное горячее полотенце отлично! Мне особенно нравится Дюрандал. Поэтому возникает вопрос: если шаблон фактически не выполняет никакого доступа к данным - зачем вообще включать какой-либо компонент доступа к данным? Было бы лучше отправить его без Breeze, и если конечный пользователь захочет использовать Breeze или Amplify или что-то еще - тогда пусть будет так. Остальная часть Hot Towel будет продолжать светиться как отличная реализация SPA.