Часто трудно увидеть преимущества абстракции, не видя преимуществ, которые она дает в реальных приложениях.Лучший совет, который я могу дать, это прочитать принципы SOLID, а затем при написании своего приложения попытаться подумать о том, как клиент может прийти к вам и сказать: «Теперь мне нужно это сделать», что может быть незначительным изменением функциональности илисерьезное изменение.Подумайте о том, как это повлияет на ваш код, и в каком количестве мест вам потребуется внести эти изменения.После того, как вы внесете эти изменения, насколько вы будете уверены, что не сломали что-то еще?
Другой идеей будет загрузка одного из примеров приложений.Одним из моих любимых примеров является образец платформы доступа к данным , предоставленный в Codeplex.Попробуйте проработать этот код и посмотрите, как реализации абстракций и шаблонов сводят к минимуму влияние на код в целом, когда наступает время его изменения.
Суть в том, что язык программирования легко выучить, но понять, как создать надежнуюРешения с этим требуют времени.Придерживайтесь этого, потому что, когда вы, наконец, получите хорошее представление об архитектуре программного обеспечения, это будет очень полезно.