1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mifengjun-java-design-patterns

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
end.md 14 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 20:32 83ccba0

И вместе с lvgo изучаем паттерны проектирования.PDF

Всем привет, я lvgo (小米), недавно потратил 60 дней на изучение паттернов проектирования и написал 23 статьи об этом. Для удобства повторения я собрал их в один PDF. Теперь хочу поделиться им, содержание документа очень чистое, потому что он был собран «простым» программистом, поэтому я думаю, что он больше подходит для разработчиков!

Введение

Во время Национального праздника начал изучать паттерны проектирования.

Поскольку это систематическое обучение, я одновременно прочитал большое количество материалов о паттернах проектирования,

включая:

  • Оригинальную книгу GOF «Паттерны проектирования: основы многоразового объектно-ориентированного программного обеспечения»;
  • Книгу Чэ Цзе «Большая история паттернов проектирования» с высоким рейтингом в Китае;
  • «Дзен паттернов проектирования (2-е издание)» Цинь Сяобао;
  • Множество блогов и т. д. (подробности см. в конце статьи).

books

Причин для чтения такого количества материалов две:

  1. В настоящее время на рынке знаний либо много случайных, либо много маркетинговых, в эту эпоху, которую люди называют «платным обучением», уже трудно найти тех, кто «передаёт знания с нуля» (это также одна из причин, по которой я пишу свои собственные статьи, чтобы попытаться стать простым и честным техническим специалистом).
  2. С другой стороны, это удобно для моего собственного обучения и понимания, а также для повышения степени принятия знаний. Честно говоря, трудно получить больше знаний из одного места, поэтому независимо от того, какие знания я изучаю, я всегда буду искать множество материалов. На самом деле, выбор материалов — это очень трудоёмкий процесс, потому что есть много вещей, которые другие хвалят, но они могут не подходить вам. Это особенно верно в отношении технических знаний, поскольку отправная точка у каждого человека разная, и только выбрав подходящую «высоту» можно чему-то научиться, что также является своего рода проявлением «каждый видит то, что хочет видеть».

Часть скриншотов

posts

Процесс

Проблемы изучения паттернов проектирования?

Я всегда думал о том, как освоить что-то новое и овладеть чем-то старым🤔, есть много старших, которые давали мне советы и мнения📑, (конечно, не прямо мне, все они были прочитаны в статьях или книгах больших людей). Сначала используйте, затем изучите. Ну, я думаю, да, это нормальный процесс обучения. Но как насчёт некоторых вещей, которыми вы временно не можете пользоваться? Как вы их осваиваете? Я считаю, что мы должны игнорировать поверхностное и понимать суть, через понимание сути мы можем овладеть вещами, которые временно не можем использовать. Паттерны проектирования — это такой случай, обычно в разработке используется всего несколько паттернов, остальные недоступны, как мы можем ими овладеть?🗃

С детства я был хорошим учителем🤓, но сам учился не очень хорошо😢. Люди слишком реалистичны и не понимают упаковки, я знаю только то, чему могу научить других.😊

Когда я изучал алгоритмы, я узнал об очень умном и полезном методе решения проблем или логике мышления «разделяй и властвуй», а также о «законе сохранения сложности», который обсуждался ранее с моими друзьями в Интернете. Эти два вместе можно назвать «конфликтом»⚔🛡.

Говоря так много, я хочу сказать, что паттерны проектирования на самом деле очень просты и сложны. Простота заключается в том, что определение каждого паттерна понятно, сложность заключается в том, когда и как его применять. И я надеюсь, что серия паттернов проектирования, которую я пишу, будет ориентирована на применение, то есть просто записывать идеи паттернов. Моё понимание паттернов должно быть таким.

GOF в своей книге «Паттерны проектирования: основы многоразового объектно-ориентированного программного обеспечения» объединил 23 паттерна проектирования в одном примере приложения, и я планирую обновить приложение после завершения серии, чтобы включить 23 вида паттернов в пример приложения настолько, насколько это возможно, вместо того, чтобы включать конкретные применения каждого паттерна, потому что я думаю, что это может привести к тому, что люди будут уделять больше внимания реализации приложения, а не применению паттернов проектирования, вот некоторые из моих идей.

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

Возвращение к истокам

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

Знания похожи, знать причину и знать почему.

Мы учимся использовать что-то, глядя на руководство пользователя;

Если мы хотим научиться ремонтировать что-то, нам нужно посмотреть руководство по дизайну;

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

Конечно, если вы просто хотите научиться пользоваться, руководства пользователя будет достаточно.

Урожай

60 дней, долго это или коротко, я закончил изучение этой части знаний и превратил их в соответствующие 23 оригинальные статьи, отправленные в репозиторий git (этот справочный материал включает исходный код, оригинальные тексты статей, материалы и UML-диаграммы классов).

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

Всё больше и больше людей хотят делиться или общаться с людьми о том, что они видят и получают в области технологий, конечно, если есть возможность поговорить с большими парнями, я смогу учиться у них, так что я смогу передавать знания дальше. Написание серии статей «Изучение паттернов проектирования с lvgo» научило меня многому, спасибо всем!

commit-log

Как получить

Вы можете следить за общедоступным аккаунтом и отвечать: «паттерны проектирования», чтобы получить эту книгу «Изучение паттернов проектирования вместе с lvgo».PDF и репозиторий github этого паттерна проектирования, если возможно, надеюсь, вы дадите мне звезду поддержки!

Наконец

Сохраняйте страсть, стремитесь к вершинам.


Справочные материалы

Веб-сайты:

Книги:

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mifengjun-java-design-patterns.git
git@api.gitlife.ru:oschina-mirror/mifengjun-java-design-patterns.git
oschina-mirror
mifengjun-java-design-patterns
mifengjun-java-design-patterns
main