Если решили делать spa, то я бы не советовал смешивать фронт с asp частью. Лучше вынести всю фронтовую часть в отдельный проект, а собранный index уже отдавать asp проектом и его же использовать просто как web api. Тогда ничего мешаться не будет.
По моему — самые фундаментальные — IoC и DI. Их реализует любой фреймворк. Любое веб приложение строится на каком-то фреймворке и самое главное не отходить от того жизненного цикла, что он предлагает и использовать его механизмы.
И собственно знакомиться с паттернами тоже лучше используя фреймворки…
Singleton registry — для глобальных хранилищ
Singleton — как стартовая точка доступа очень удобно
Factory — как прослойка для инициализации классов
Strategy — для фильтров