Программирование [Дмитрий Елисеев] [deworker.pro] Большой стрим про SOLID и GRASP (2024)

Moderator
29 Мар 2020
268,895
1,042,815
113
Голосов: 0
#1
1727430290464-png.77337


Описание [Дмитрий Елисеев] [deworker.pro] Большой стрим про SOLID и GRASP (2024):



Мы уже рассмотрели разделение проекта на модули и микросервисы на высоком уровне, чтобы уменьшить количество связей между отдельными подсистемами. Мы сделали это на примере сложной растущей программной системы для крупного завода железобетонных изделий, предлагающего линейку бетона с клубничным ароматом для VIP-клиентов.

В процессе обсуждения мы кратко затронули принципы и паттерны SOLID и GRASP применительно к модулям. Этот вопрос сам по себе интересен, и часто возникают вопросы от зрителей. Поэтому будет полезно рассмотреть эту тему на примерах не только высокоуровневых модулей, но и на более низком уровне разделения программного кода на процедуры, функции или классы.

Обычно проекты продолжают расти и становиться всё сложнее. Со временем разработчикам становится труднее вносить изменения, и работа занимает всё больше времени. Возникает вопрос о том, как облегчить жизнь разработчикам и заказчикам при постоянном росте проекта. Нам необходимо решить эту проблему.

Независимо от того, работаете ли вы над своим проектом или развиваете чужой, важно осознать эти аспекты как можно раньше, чтобы со временем код проекта не превратился в хаос. Даже если вы пока не готовы применять эти принципы в своём рабочем проекте, вы можете потренироваться на собственных проектах, чтобы затем использовать полученный опыт при прохождении собеседования в более интересной компании.

В статьях и книгах часто просто перечисляют принципы из SOLID, забывая упомянуть, зачем они нужны. Часто приводятся примеры кода без раскрытия полных причин, которые привели автора к такому выбору. В результате становится непонятно, что происходит в коде.

После прочтения или просмотра таких материалов многие пытаются применить описанные принципы у себя. Однако из-за непонимания первоначальной идеи разработчик может сделать что-то неправильно или не там, где это актуально. В результате возникает ощущение, что всё это бесполезно и только мешает работе.

Не стоит зубрить принципы или паттерны ради собеседований, так как это образ мышления, которым нужно жить. В скринкастах и стримах мы привыкли не зубрить, а искать смысл в том, что делаем. Мы пытаемся понять исходные причины и пережить мысли автора, когда он что-то изобретал. Таким образом, мы можем применить этот подход и здесь. Поняв основную идею этих архитектурных принципов, мы сразу поймём, какие паттерны GoF в коде могут быть полезны для решения нашей задачи.

Если не контролировать код проекта, работа будет становиться всё сложнее. Чем больше лишних зависимостей, тем выше риск что-то сломать. Без понимания ключевых идей сложно применять принципы.

Мы часто опираемся на эти принципы во многих скринкастах, когда пишем новый код и проводим рефакторинг старого. Материала много, но он пока разрознен. Поэтому будет полезно собрать всё воедино и создать общую картину.

Подробнее:
Для просмотра содержимого вам необходимо авторизоваться

Скачать курс [Дмитрий Елисеев] [deworker.pro] Большой стрим про SOLID и GRASP (2024):


Для просмотра содержимого вам необходимо авторизоваться
 
Последнее редактирование модератором: