Очень часто приступая к разработке приложения мы, под давлением менеджера берем один из распространенных паттернов разработки и быстро кодим, чтобы получить живой прототип за день-другой. Вроде все работает, уходит в прод и все довольны.
Вот только потом, когда встает вопрос о поддержке, рефакторинге и введении новых фич оказывается, что в контроллерах у нас тонны кода, количество boilerplate застилает 4к экран, а вкорячивать новые фишки сложнее, чем переписать все снова. И вот вы уже снова перепиливаете все в стиле *уяк-*уяк и в продакшн…
А может стоило выделить время и выбрать не просто модную, а подходящую вашей задаче архитектуру?
Под катом ответы на распространенные вопросы и некоторые советы, которые помогут создать качественный продукт.