ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Главная польза ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ шаблона состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ класса абстрактных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π’Π°ΠΊΠΆΠ΅ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаблон ΠΈΠΌΠ΅Π΅Ρ‚ своС имя, ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π΄ΠΈΡΠΊΡƒΡΡΠΈΡŽ ΠΎΠ± Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½Ρ‹Ρ… структурах Π΄Π°Π½Π½Ρ‹Ρ… (ADT) ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΈΠ·Π²Π΅ΡΡ‚Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π° ΡΡ‡Ρ‘Ρ‚ шаблонов производится унификация Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ²… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ
  • Π¨Π°Π±Π»ΠΎΠ½ проСктирования «ΠžΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΠ°»
  • ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А
  • Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π¨Π°Π±Π»ΠΎΠ½ проСктирования (design pattern) — это ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ примСняСмая архитСктурная конструкция, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ проСктирования Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ контСкста ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ Π·Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΡŒ этого Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прямо ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² ΠΊΠΎΠ΄.

Π­Ρ‚ΠΎ — ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ситуациях. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚вия ΠΌΠ΅ΠΆΠ΄Ρƒ классами ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π±Π΅Π· опрСдСлСния Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ классы ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ прилоТСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Алгоритмы ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ сути Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ шаблонами, Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ирования, Π° Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΆΠ΅ ΠΎΡ‚ ΠΈΠ΄ΠΈΠΎΠΌ, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования нСзависимы ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ языка программирования.

Главная польза ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ шаблона состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ класса абстрактных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π’Π°ΠΊΠΆΠ΅ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаблон ΠΈΠΌΠ΅Π΅Ρ‚ своС имя, ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π΄ΠΈΡΠΊΡƒΡΡΠΈΡŽ ΠΎΠ± Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½Ρ‹Ρ… структурах Π΄Π°Π½Π½Ρ‹Ρ… (ADT) ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΈΠ·Π²Π΅ΡΡ‚Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π° ΡΡ‡Ρ‘Ρ‚ шаблонов производится унификация Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сформулированный шаблон проСктирования позволяСт, отыскав ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ простой тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ шаблона «ΠžΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΠ°». Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ языка программирования высокого уровня Π²Ρ‹Π±Ρ€Π°Π½ язык C++ Builder вСрсия 6. НСобходимо Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

β€’ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ,

β€’ Π²Π»Π΅Π²ΠΎ,

β€’ Π²ΠΏΡ€Π°Π²ΠΎ,

β€’ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ,

β€’ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ,

β€’ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ,

β€’ ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ,

β€’ ΡˆΡ€ΠΈΡ„Ρ‚.

Π¨Π°Π±Π»ΠΎΠ½ проСктирования «ΠžΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΠ°».

Π¨Π°Π±Π»ΠΎΠ½ «ΠžΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΠ°» — ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ шаблон проСктирования. Π­Ρ‚ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ процСсс инстанцирования. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ систСму нСзависимой ΠΎΡ‚ ΡΠΏΠΎΡΠΎΠ±Π° создания, ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚авлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π¨Π°Π±Π»ΠΎΠ½, ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ классы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ наслСдованиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ инстанцируСмый класс, Π° ΡˆΠ°Π±Π»ΠΎΠ½, ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π΄Π΅Π»Π΅Π³ΠΈΡ€ΡƒΠ΅Ρ‚ инстанцированиС Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.

Π­Ρ‚ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π°ΠΆΠ½Ρ‹, ΠΊΠΎΠ³Π΄Π° систСма большС зависит ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‡Π΅ΠΌ ΠΎΡ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ классов. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ основной ΡƒΠΏΠΎΡ€ дСлаСтся Π½Π΅ Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ фиксированного Π½Π°Π±ΠΎΡ€Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ, Π° Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ нСбольшого Π½Π°Π±ΠΎΡ€Π° Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ любоС число Π±ΠΎΠ»Π΅Π΅ слоТных. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ трСбуСтся Π½Π΅Ρ‡Ρ‚ΠΎ большСС, Ρ‡Π΅ΠΌ простоС инстанцированиС класса.

ΠŸΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ знания ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… классах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅. Они ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ эти классы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΡΡ‚Ρ‹ΠΊΡƒΡŽΡ‚ΡΡ. ЕдинствСнная информация ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…, извСстная систСмС, — это ΠΈΡ… ΠΈΠ½Ρ‚СрфСйсы, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ абстрактных классов. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ вопроса ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ создаСтся, ΠΊΡ‚ΠΎ это создаСт, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠ³Π΄Π°. МоТно ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ систСму ΠΈΠ· «Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ…» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΡΠ°ΠΌΠΎΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ структурой ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ статичСски (Π½Π° ΡΡ‚Π°ΠΏΠ΅ компиляции) ΠΈΠ»ΠΈ динамичСски (Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния).

Иногда допустимо Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌ шаблоном. НапримСр, Π΅ΡΡ‚ΡŒ случаи, ΠΊΠΎΠ³Π΄Π° с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠΉ для Π΄Π΅Π»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, Ρ‚Π°ΠΊ ΠΈ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΡƒΡŽ Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… ситуациях ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°. Π’Π°ΠΊ, примСняя ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ вопроса ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, Π° ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ часто рСализуСтся вмСстС с ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΠΎΠΉ. ΠŸΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ тСсно связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, ΠΈΡ… Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ совмСстно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ Π±Ρ‹Π»ΠΈ Π²ΠΈΠ΄Π½Ρ‹ ΠΈΡ… ΡΡ…одства ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ.

ЦСль примСнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ шаблона Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ»Π°ΡΡΠ° Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ экзСмпляр, ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ доступа. БущСствСнно Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ экзСмпляром класса, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ этом Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях становится доступной Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠ°Ρ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. НапримСр, ΠΊ ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ класса ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс, Ссли такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ поддСрТиваСтся языком.

К Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½Ρ‹ΠΌ плюсам Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ отнСсти:

β€’ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ доступ ΠΊ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΠΎΠΌΡƒ экзСмпляру;

β€’ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ числа ΠΈΠΌΡ‘Π½;

β€’ допускаСт ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚авлСния;

β€’ допускаСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ число экзСмпляров;

β€’ большая Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ класса.

Однако Π΅ΡΡ‚ΡŒ ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΠΊ. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ€Π΅Π΄Π½Ρ‹ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ программирования, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях приводя ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡŽ Π½Π΅ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° шаблона слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

β€’ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ экзСмпляр Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ класса, Π»Π΅Π³ΠΊΠΎ доступный всСм ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ;

β€’ СдинствСнный экзСмпляр Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΡΡ ΠΏΡƒΡ‚Π΅ΠΌ пороТдСния подклассов, ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌ экзСмпляром Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ своСго ΠΊΠΎΠ΄Π°.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

  1. Π”ΠΆΠΎΠ½ ВлиссидСс. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ шаблонов проСктирования.: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ: Addison Wesley Publishing, 2003
  2. Π­. Π“Π°ΠΌΠΌΠ°, Π . Π₯Π΅Π»ΠΌ, Π . ДТонсон, Π”ΠΆ. ВлиссидСс ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования. — Π‘Пб: «ΠŸΠΈΡ‚Π΅Ρ€», 2007
  3. Π”ΠΆΠΎΡˆΡƒΠ° ΠšΠ΅Ρ€ΠΈΠ΅Π²ΡΠΊΠΈ Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. — Πœ.: «Π’ΠΈΠ»ΡŒΡΠΌΡ», 2006.
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ