алгоритмами?
или ток самому темы проектов придумывать и там уже реализовывать?
Паттерны лучше всего будет разбирать всё-таки на реальных задачах. Какова ситуация: паттерны это, с одной стороны, очевидные вещи, а с другой – если бы все использовали нужный паттерн в нужный момент (а не нужные не использовали), то и изучать их не нужно было бы (все и так всё знали бы). Из этого следует вывод, что есть фактор, который мешает понять очевидные темы, поднимаемые в этих паттернах. Этот фактор – опыт. Пока ты не столкнулся с достаточным количеством похожих проблем, ты, даже почитав паттерн и разобрав примеры его использования, можешь либо вообще его не понять, либо понять не до конца и/или неправильно. Так что самый простой способ изучения паттернов – пилить проект, максимально похожий на реальный (а лучше сразу реальный) и, время от времени, проходиться по списку популярных паттернов и перечитывать их (постепенно будешь замечать, что в них описаны те же костыли, что ты писал, но они выглядят чуть лучше). + паттерны это, во многих случаях, чистое инфоциганство. Те же принципы SOLID собраны в кучу не потому, что они как-то связаны, и не потому, что это топ5 принципов, которые нужно знать что бы быть альфасамцом на районе, а просто потому, что складываются в пиздатый акроним. Так что тут тоже нужно быть осторожным.
К паттернам стоит относиться больше как к формализованным идеям, которые достаточно часто всплывают в разработке. Поэтому они и становятся понятны только имея хоть сколь-нибудь существенный опыт (кто-то за тебя подумал над проблемой, которую ты уже решил, и этот кто-то описал её общий вид + предложил решение в общем виде)
паттерны это никакие не формализованные идеи, они существуют без синтеза в принципе. Их только можно обнаружить. В чём проявляется инфоциганство? Номенклатура паттернов увеличивает выразительность кода, лучше происходит взаимодействие с другими разработчиками и т.д. и т.п. P.S. принципы в solid собрали позже
Я с этим согласен больше Только когда начнешь писать код на опыте сможешь прочухать какой паттерн юзать и нужен ли он там вообще
>паттерны это никакие не формализованные идеи, они существуют без синтеза в принципе. Это философский вопрос. Примерно как существует ли математика без человека, или человек её выдумал.
Отнюдь Сколько бы ты не старался, ты не сможешь придумать
Мне кажется ты меня не понял, но да ладно
Так я, вроде, и не говорил, что их нужно учить
Обсуждают сегодня