Сергей Протько: имелось в виду если лень директиву городить и надо быстро на коленке сделать прототип для поиска например где результатом может быть контент разных типов (изображение, видео, описание, ссылка на инфоресурс и т.д.)
Степан Кормилин: заранее прописать контейнер: ng-repeat="results" ng-show="results.length", и внутри него в зависимости от типа результата инклюдить тот или иной темплейт
1) выпиши все возможные операции: получить список товаров, получить фильтрованный список товаров, заказать, создать, добавить в корзину и т.д. - 2) опиши потоки данных: что/когда передаётся 3) разбей данные на 2 группы: которые нужно хранить в БД и которые нужно хранить в оперативной памяти 4) подготовь сервисы под данные: структуру БД, кэш-программы 5) начинай с бэкэнда и добавляй легкие веб-интерфейсы без дизайна.
Постарайся использовать язык, который позволяет обрабатывать http одним процессом и не умирает произвольно (c#/java/nodejs/go), тогда ты лучше поймешь весь жизненный цикл запросов и сможешь не париться о логике восстановления данных из БД, а хранить их в ОП, заодно поработаешь с многопоточностью и всеми камнями.
Дима Турков: имелось в виду улучшение с точки зрения оптимизации использования ресурсов клиентской машинки:
1) $('div') - это селектор jquery, такая же функция как и все с именем $, когда вызывается $('div') выполняется поиск элементов, замечание касалось того, что нету надобности искать элементы заново при каждом клике.
2) тоже самое с функцией (определение функции - работа с памятью, тем меньше вероятность утечек, чем меньше свапаются всякие значения).
Оптимизировали - глазом может быть не заметно. Но на требовательных приложениях (запускаем на планшете, телефоне или отрисовка не менее 30 кадров) это важно, есть живые примеры. Привыкайте сразу писать более-менее оптимальный код с точки зрения потребления ресурсов. Что касается красоты кода - нужны уточнения в части архитектуры приложения. Но как правило заранее на все случаи жизни предусмотреть не удаётся.
Алексей: призма - это к wpf/silverlight, скорее уже фреймворк (mef/unity принцип), в основе идея - разбить приложение на подключаемые модули (плагины), не так актуально в нынешнем enterprise (продукты портируют в веб)
а бифрост - как раз cqrs, DDD, именно то что сейчас актуально, выбирая его, вы шагаете в ногу со временем в части разработки ;)