должно ли быть так и надо просто практиковаться и все это само застынет в памяти или все же надо сильно напрячься и вызубривать всё это, или же все таки здесь уместно высказывание: "Инженер не должен все знать, он должен знать, где все искать"?
Расскажу из своей практики:
У меня была примерно такая же проблема с декларациями сущностей в NHibernate, контроллерами в aspnet, и компонентами в react. Когда надо было добавить что-то новое, я ходил в старый код и копировал всю это обвязку.
Иногда я пробовал без копипасты писать - в этом сильно помогало автодополнение и автоимпорт.
Сейчас уже спокойно пишу без копирования существующего кода, хотя для экономии времени стоит добавить шаблон к себе в ide.
В общем - зубрить не надо. От частой практики сам всё запомнишь, или найдёшь другой, более эффективный способ написания.