ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ многоалгоритмичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ модСлирования Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов

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

ΠšΠ»Π°ΡΡΡ‹ DDMBasicAlgorithm ΠΈ DDMQuickAlgorithm ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ свойство GroupOfAlgorithms. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΠΌΠΎΠ². Однако ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ свойства Description, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ описания, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ особСнности Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. НапримСр для класса DDMBasicAlgorithm, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это «ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ», Π° Π΄Π»Ρ DDMQuickAlgorithm — «Π±Ρ‹ΡΡ‚Ρ€Ρ‹ΠΉ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ многоалгоритмичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ модСлирования Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

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

Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов, описываСтся Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° классов, которая позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ многоалгоритмичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ достиТСниСм Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся прСдставлСнная модификация ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° проСктирования «Π‘тратСгия», которая избавляСт ΠΎΡ‚ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΎΠ² использования стандартного шаблона.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ прСимущСства проСктирования Π² ΡΠΎΠΎΡ‚вСтствии с ΠΈΠ½Ρ‚СрфСйсами ΠΈ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ классами, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ дСмонстрируСм ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ дСлСгирования ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° «Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄».

ΠœΠ½ΠΎΠ³ΠΎΠ°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Одним ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… тСзисов Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ± Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° проСктирования «Π‘тратСгия» («Strategy») ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ матСматичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² являСтся Π·Π°Π΄Π°Ρ‡Π° поддСрТания ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ создании Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π»ΠΈ шаблон «Π‘тратСгия», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚:

  • — ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ — большС памяти;
  • — ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π΄Π°Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π”Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π½Π΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ слоТныС, спСцифичныС для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° структуры.

К ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² Π² Ρ‡ΠΈΡΡ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ряд слоТностСй. Π’ Π½Π°ΡˆΠ΅ΠΌ случаС, использованиС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° «Π‘тратСгия» ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° основных нСдостатка:

  • — ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ «Π·Π½Π°Ρ‚ΡŒ» ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… стратСгиях. Для Π²Ρ‹Π±ΠΎΡ€Π° подходящСго Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ придСтся Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ;
  • — ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ нашСй Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ соотвСтствиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ «Π‘тратСгия» Π½Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΈΠΌ экзСмплярам контСкста (ΠΌΠ΅Ρ‚ΠΎΠ΄Π°) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стратСгии (Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°Π»ΠΈΡΡŒ для Π΄Ρ€ΡƒΠ³ΠΈΡ… экзСмпляров.

Для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… минусов Π±Ρ‹Π»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° классов, показанная Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1:

Рисунок 1. — Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов для ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… мноТСство Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²:

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ€ΠΈΡΡƒΠ½ΠΊΠ° 1, абстрактный класс MultyAlgorithms, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт Ρ€ΠΎΠ»ΡŒ контСкста, наслСдуСтся ΠΎΡ‚ ΠΈΠ½Ρ‚СрфСйса ICompatibility, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°Ρ€Π³Π΅Π³ΠΈΡ€ΡƒΠ΅Ρ‚ интСрфСйс IAlgorithm (стратСгия). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° «Π‘тратСгия», наш интСрфСйс IAlgorithm Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚авляСт собой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Π­Ρ‚ΠΎ сдСлано для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ IAlgorithm содСрТали Π»ΡŽΠ±ΡƒΡŽ сигнатуру Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΊΠ°ΠΊΠΎΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² понадобится для Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π° ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π°Π±ΠΎΡ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, списком ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΌΡƒ Π²ΠΎΡΠΏΡ€ΠΈΡΡ‚ΠΈΡŽ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ сигнатур ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊ ΡΠ»ΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌ ΠΏΡ€ΠΈ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ IAlgorithm содСрТит сигнатуры ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

  • — Description — ΠΌΠ΅Ρ‚ΠΎΠ΄, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ описаниС особСнностСй Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² Π²ΠΈΠ΄Π΅ строки. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, информация ΠΎ Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ закладываСтся ΡƒΠΆΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ интСрфСйса ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° смоТСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄Π°Π½Π½ΠΎΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ вмСсто строкого Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСрСчислимый Ρ‚ΠΈΠΏ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТал Π±Ρ‹ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Но Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ» Π±Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΎΠ² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ вСсь Π½Π°Π±ΠΎΡ€ Π²ΠΈΠ΄ΠΎΠ² Π±Ρ‹Π» Π±Ρ‹ фиксирован Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ компиляции;
  • — GroupOfAlgorithm — Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пСрСчислимого Ρ‚ΠΈΠΏΠ° GroupsOfAlgorithm. КаТдоС Ρ‚Π°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ связан Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ. ΠœΠ΅Ρ‚ΠΎΠ΄ GroupOfAlgorithm ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ соотвСтствиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1 продСмонстрированы Ρ‚Π°ΠΊΠΈΠ΅ значСния Ρ‚ΠΈΠΏΠ° GroupsOfAlgorithm ΠΊΠ°ΠΊ None — нСопрСдСлСнная Π³Ρ€ΡƒΠΏΠΏΠ°, Users — ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ, Π³Ρ€ΡƒΠΏΠΏΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π₯Срста (Hosking — ΠΌΠ΅Ρ‚ΠΎΠ΄ Π₯оскинга, CirculantEmbedding — ΠΌΠ΅Ρ‚ΠΎΠ΄ циркулянтных Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ‚. Π΄.), Π³Ρ€ΡƒΠΏΠΏΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ экспонСнту Π₯Срста (VarianceOfResiduals — ΠΌΠ΅Ρ‚ΠΎΠ΄ диспСрсии остатков, RescaledRangeAnalysis — ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ°Ρ…Π°).

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ICompatibility «Π½Π°Π΄Π΅Π»ΡΠ΅Ρ‚» своих наслСдников Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π° ΡΠΎΠΎΡ‚вСтствиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

ΠœΠ΅Ρ‚ΠΎΠ΄ CheckCompatibility, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТится Π² Π΄Π°Π½Π½ΠΎΠΌ интСрфСйсС, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ — Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ примСнСния Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° CheckCompatibility это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ булСвского Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎΠ± ΠΈΡΠΊΠΎΠΌΠΎΠΉ совмСстимости.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, сами ΠΏΠΎ ΡΠ΅Π±Π΅ интСрфСйсы ΠΌΠ°Π»ΠΎ Ρ‡Π΅ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹. Однако ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠ»Π°ΡΡΠ°Ρ… ΠΈΠ»ΠΈ структурах своим ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ возмоТностям Π·Π° ΡΡ‡Π΅Ρ‚ примСнСния ссылки Π½Π° Π½ΠΈΡ… Π² ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классы, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ CheckCompatibility. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ абстрактного класса MultyAlgorithms продСмонстрирован Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2:

Рисунок 2. — ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ абстрактного класса MultyAlgorithms (контСкст Π² ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π΅ проСктирования «Π‘тратСгия»):

Из Ρ€ΠΈΡΡƒΠ½ΠΊΠ° 2 Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ доступа set (ΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€) свойства Algorithm содСрТит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° ΡΠΎΠΎΡ‚вСтствиС Π΄Π°Π½Π½ΠΎΠ³ΠΎ многоалгоритмичСского ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСдаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ контСкстно-зависимого ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова value. ΠŸΡ€ΠΈ этом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ CheckCompatibility, рСалзация ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ содСрТит абстрактноС свойство GroupOfAlgorithms. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚авляСм Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ наслСдникам класса MultyAlgorithms самим Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊ ΠΊΠ°ΠΊΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² относится Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄. Π’Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠ΅ΠΌ Π½ΠΎΡΠΈΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄» («Template Method»). «Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄» — это ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ повСдСния классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт основу Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ подклассам ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ шаги Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ Π΅Π³ΠΎ структуру Π² Ρ†Π΅Π»ΠΎΠΌ. Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ особСнно Π²Π°ΠΆΠ΅Π½ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ классов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вынСсти ΠΎΠ±Ρ‰Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Π΅ классы.

АрхитСктурноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Рассмотрим созданиС наслСдуСмой Π±Π°Π·Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ проСктирования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ряды с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π₯Срста. Π”Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ продСмонстрировано Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΠΎΠΎΡ‚вСтствии с ΠΈΠ½Ρ‚СрфСйсами, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3, Π±Ρ‹Π» создан интСрфСйс IAlgorithmGeneration, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ для всСх Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π₯Срста.

Π­Ρ‚ΠΎΡ‚ интСрфСйс наслСдуСтся ΠΎΡ‚ ΠΈΠ½Ρ‚СрфСйса IAlgorithm, поэтому Π΅Π³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наслСдники абстрактного класса MultyAlgorithms.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, интСрфСйс IAlgorithmGeneration Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ сигнатуру ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Execute.

ΠœΠ΅Ρ‚ΠΎΠ΄Π° Execute содСрТит Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°:

  • — H — экспонСнта Π₯Срста, число вСщСствСнного Ρ‚ΠΈΠΏΠ°;
  • — T — Π΄Π»ΠΈΠ½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ряда, Ρ†Π΅Π»ΠΎΠ΅ число.

Рисунок 3. — ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ряды с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π₯Срста:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° являСтся список чисСл вСщСствСнного Ρ‚ΠΈΠΏΠ°, хранящий значСния сгСнСрированного Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ряда Π΄Π»ΠΈΠ½Ρ‹ T, коррСляционна структура ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ характСризуСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π₯Срста — H.

НаслСдники интСрфСйса IAlgorithmGeneration, ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡƒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ствойства GroupOfAlgorithms, Description, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Execute.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΠ°Ρ€Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², которая Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ряды прямым ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ опрСдСлСния (DDMBasicAlgorithm ΠΈ DDMQuickAlgorithm) ΠΈ ΠΏΠ°Ρ€Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², которая Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ряды ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π₯оскинга (HoskingBasicAlgorithm ΠΈ HoskingQuickAlgorithm).

ΠšΠ»Π°ΡΡΡ‹ DDMBasicAlgorithm ΠΈ DDMQuickAlgorithm ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ свойство GroupOfAlgorithms. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΠΌΠΎΠ². Однако ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ свойства Description, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ описания, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ особСнности Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. НапримСр для класса DDMBasicAlgorithm, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это «ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ», Π° Π΄Π»Ρ DDMQuickAlgorithm — «Π±Ρ‹ΡΡ‚Ρ€Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ». Аналогично ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ рассуТдСниям, классы HoskingBasicAlgorithm ΠΈ HoskingQuickAlgorithm ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ свойство GroupOfAlgorithms, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ относятся ΠΊ ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² (Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π₯оскинга). РасмотрСнноС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² позволяСт:

  • — ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ сигнатурой ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²;
  • — ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ± ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ях Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°;
  • — Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅.

АрхитСктурноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Для использования прСимущСств Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° «Π‘тратСгия», Π½Π°ΠΌΠΈ Π±Ρ‹Π»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° классов, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ продСмонстрирован Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4.

Рисунок 4. — ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ряды с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π₯Срста:

Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4, абстрактный класс BaseGenerationMethod, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π₯Срста, наслСдуСтся ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса многоалгоритмичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² MultyAlgorithms, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΡ‚ Π΄Π²ΡƒΡ… интСрфСйсов: IGenerationMethod ΠΈ ISeries. IGenerationMethod Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ сигнатуру ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ExecuteMethod, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Execute интСрфСйса IAlgorithmGeneration (H ΠΈ T).

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ISeries содСрТит сигнатуры ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€ΡΠ΄Π°ΠΌΠΈ Series:

  • — GetSeriesByName — позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ряд ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ;
  • — GetSeriesByInd — позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ряд ΠΏΠΎ Π΅Π³ΠΎ индСксу;
  • — GetSeriesesNames — Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список ΠΈΠΌΠ΅Π½ рядов;
  • — Count — Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство рядов.

Класс Series слуТит для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΠΏΠΈΡΠΊΠΎΠΌ вСщСствСнных чисСл, класс Series содСрТит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ряда, Ρ‡Ρ‚ΠΎ позволяСт ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΠΏΠΈΡΠΊΠΎΠΌ рядов Π² Π΄Π°Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс ListSeries, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс ISeries, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ содСрТит Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: Checking, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ряда ΠΈ AddSeries, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ добавляСт ряд Π² ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ.

Π’Π½ΡƒΡ‚Ρ€ΠΈ сСбя ΠΌΠ΅Ρ‚ΠΎΠ΄ AddSeries содСрТит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Checking, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, запрСщая Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ряды с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ. Класс BaseGenerationMethod Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΠ΅Ρ‚ ListSeries ΠΈ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅ΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ интСрфСйс ISeries. РСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ExecuteMethod продСмонстрирована Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 5. Π’ΡƒΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ExecuteMethod ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ нСпосрСдствСнного исполнСния Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Execute Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся наслСдником интСрфСйса IAlgorithmGeneration.

Рисунок 5. — ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ исполнСния многоалгоритмичСского ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: автоматизация интСрфСйс ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ РассмотрСнная композиция классов позволяСт:

  • — ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈ ΠΈΡ… ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡ‚ΡŒ;
  • — ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ структуры Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…;
  • — Π±Ρ‹ΡΡ‚Ρ€ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов.

Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, которая Π΅ΡΡ‚ΡŒ Ρƒ ΠΎΠ΄Π½ΠΈΡ… ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ…. ИспользованиС Π½Π°Π²Ρ‹ΠΊΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования позволяСт Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ систСму.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±Ρ‹Π»Π° прСдставлСна модификация ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° проСктирования «Π‘тратСгия», прСдназначСнная для создания многоалгоритмичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², которая:

  • — ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² (стратСгиях) Π±Π΅Π· раскрытия особСнностСй ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ;
  • — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ соотвСтствиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

ΠšΡ€ΠΎΠΌΠ΅ этого, Π±Ρ‹Π»Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описана рСализация Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ проСктирования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ дСлСгирования, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ проСктирования «Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄».

БиблиографичСский список

  • 1. Π“Π°ΠΌΠΌΠ° Π­., Π₯Π΅Π»ΠΌ Π ., ДТонсон Π ., ВлиссидСс Π”ΠΆ. ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2008. — 366 с.
  • 2. Иан ГрэхСм ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. — 3-Π΅ ΠΈΠ·Π΄. — Πœ.: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π΄ΠΎΠΌ «Π’ΠΈΠ»ΡŒΡΠΌΡ», 2004. — 880 с.
  • 3. Π­Π½Π΄Ρ€ΡŽ ВроСлсСн. C# ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.NET. Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ «ΠŸΠΈΡ‚Π΅Ρ€». ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³ 2002.
  • 4. UML. Классика CS. Π‘ΡƒΡ‡ Π“., Якобсон А., Π Π°ΠΌΠ±ΠΎ Π”ΠΆ., ΠžΡ€Π»ΠΎΠ² Π‘. А. 2-Π΅ ΠΈΠ·Π΄. 2005 Π³ΠΎΠ΄.
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ