Вы никогда не должны реорганизовывать свой код только для того, чтобы он соответствовал шаблону, который вы прочитали в какой-то книге.
Шаблоны действительно помогают вам тренировать свой мозг с точки зрения правильного проектирования программного обеспечения. Я бы на самом деле сказал, что приобрел большую часть своих навыков и знаний в области программирования, читая учебники по шаблонам, размышляя о них и научившись понимать, как они работают и какие преимущества они вам дадут. И это на самом деле ключ. Их цель - сделать вещи проще, удобнее в обслуживании, легче тестировать и т. Д., А не сделать вашу жизнь тяжелее:)
Я думаю, что это тоже "сложность". Шаблоны дают вам кадр, с которого нужно начинать, когда вы сталкиваетесь с проблемой. Пример: вы действительно хотите выполнить модульное тестирование своего кода, но просто не можете, потому что это зависит от логики пользовательского интерфейса или слишком сильно связано. Это ваша проблема, поэтому вы можете прийти к решению, зная о шаблоне MVC и концепции внедрения зависимостей и IOC. Они могут дать вам отправную точку, так как, например, MVC объясняет вам концепции высокого уровня: представление Observer, Observable, Controller и т. Д. И ... как они связаны друг с другом. Тогда ваша задача, как хорошего программиста, выбрать правильный подход и в какой степени вы считаете разумным применять этот шаблон. Не просто применяйте это, потому что образец говорит вам. Помните, что это просто рамка, вы можете изменить и адаптировать ее s.t. это подходит для ваших конкретных обстоятельств.