Просмотрел много примеров и книг, но все равно - как правильно спроектировать приложение?сомнения уходят с практикой. а вообще слова для гуглежки (или при просмотре оглавления умных книг) проектирование, архитектура, дизайн (тут как синоним архитектура), и дизайн (тут пользовательский опыт aka user experience (UX)) но в общем случае, не надо пытаться увязывать поиски по этим словам с названием конкретного ЯП (C#) выдача будет похуже
Какие компоненты использовать, как удобнее располагатьэто уже в зависимости от задуманного UX. да, его надо сначала вообразить, а уже потом реализовать. но не наоборот ;))