Skip to content

πŸ“š Simple examples of using design patterns. | Π€Ρ€ΠΈΠΌΠ΅Π½ Π­. Head First. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования. (2018)

Notifications You must be signed in to change notification settings

never-sleeps/design-patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

721d97f Β· Feb 23, 2021

History

40 Commits
Feb 23, 2021
Jan 9, 2021
Feb 23, 2021

Repository files navigation

design-patterns

πŸ“š Simple examples of using design patterns

  1. БтратСгия β€” повСдСнчСский ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт сСмСйство схоТих Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π² собствСнный класс, послС Ρ‡Π΅Π³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ прямо Π²ΠΎ врСмя исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
  2. ΠΠ°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒ β€” повСдСнчСский ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаёт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ подписки, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° события, происходящиС Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ….
  3. Π”Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ β€” структурный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт динамичСски Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, оборачивая ΠΈΡ… Π² ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Β«ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈΒ».
  4. Π€Π°Π±Ρ€ΠΈΠΊΠ° β€” общая концСпция проСктирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ классов, ΠΊΠΎΠ³Π΄Π° какая-Ρ‚ΠΎ ΠΎΠ΄Π½Π° Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° созданиС Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π€Π°Π±Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт ΠΎΠ±Ρ‰ΠΈΠΉ интСрфСйс для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² супСрклассС, позволяя подклассам ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ создаваСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Абстрактная Ρ„Π°Π±Ρ€ΠΈΠΊΠ° β€” ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ сСмСйства связанных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π΅ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°ΡΡΡŒ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ классам создаваСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
  5. Singleton β€” ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρƒ класса Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ экзСмпляр, ΠΈ прСдоставляСт Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ доступа ΠΊ этому экзСмпляру.
  6. Команда β€” повСдСнчСский ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ инкапсулируСт запрос Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, дСлая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ клиСнтских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ запросами, ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈΠ»ΠΈ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ запросов, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.
  7. АдаптСр β€” структурный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ интСрфСйс класса ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ интСрфСйсу, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рассчитан ΠΊΠ»ΠΈΠ΅Π½Ρ‚.
  8. Ѐасад β€” структурный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт простой интСрфСйс ΠΊ слоТной систСмС классов, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΡƒ.
  9. Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” повСдСнчСский ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт скСлСт Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, пСрСкладывая ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Π³ΠΎ шаги Π½Π° подклассы. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ позволяСт подклассам ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ шаги Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π½Π΅ мСняя Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅ΠΉ структуры.
  10. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ β€” повСдСнчСский ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ элСмСнты составных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π΅ раскрывая ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ прСдставлСния.
  11. ΠšΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ β€” структурный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡƒΡŽ структуру, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΉ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ это Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

About

πŸ“š Simple examples of using design patterns. | Π€Ρ€ΠΈΠΌΠ΅Π½ Π­. Head First. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования. (2018)

Topics

Resources

Stars

Watchers

Forks

Languages