Π Π°Π·Π½ΠΎΠ΅

ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° ΠΎΠΎΠΏ: Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ООП?

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° — CoderLessons.com

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная (ОО) ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ интСрСс ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ проСктирования ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π²ΠΎΠ·Π½ΠΈΠΊ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΠΎΠ·ΠΆΠ΅. ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° ОО-Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ проСктирования являСтся логичСским Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ принятия языков ОО-программирования.

  • ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком Π±Ρ‹Π» Simula (Бимуляция Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… систСм), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1960 Π³ΠΎΠ΄Ρƒ исслСдоватСлями ΠΈΠ· НорвСТского Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π°.

  • Π’ 1970 Π³ΠΎΠ΄Ρƒ Алан КСй ΠΈ Π΅Π³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° Π² Xerox PARC создали ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Dynabook ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ чистый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования (OOPL) β€” Smalltalk, для программирования Dynabook.

  • Π’ 1980-Ρ… Грэди Π‘ΡƒΡ‡ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Β», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² основном прСдставлСн Π΄ΠΈΠ·Π°ΠΉΠ½ для языка программирования Ada. Π’ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… изданиях ΠΎΠ½ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ» свои ΠΈΠ΄Π΅ΠΈ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования.

  • Π’ 1990-Ρ… Π³ΠΎΠ΄Π°Ρ… Коад Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» ΠΈΠ΄Π΅ΠΈ повСдСния Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком Π±Ρ‹Π» Simula (Бимуляция Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… систСм), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1960 Π³ΠΎΠ΄Ρƒ исслСдоватСлями ΠΈΠ· НорвСТского Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π°.

Π’ 1970 Π³ΠΎΠ΄Ρƒ Алан КСй ΠΈ Π΅Π³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° Π² Xerox PARC создали ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Dynabook ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ чистый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования (OOPL) β€” Smalltalk, для программирования Dynabook.

Π’ 1980-Ρ… Грэди Π‘ΡƒΡ‡ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Β», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² основном прСдставлСн Π΄ΠΈΠ·Π°ΠΉΠ½ для языка программирования Ada. Π’ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… изданиях ΠΎΠ½ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ» свои ΠΈΠ΄Π΅ΠΈ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования.

Π’ 1990-Ρ… Π³ΠΎΠ΄Π°Ρ… Коад Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» ΠΈΠ΄Π΅ΠΈ повСдСния Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ нововвСдСниями стали Β«ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ модСлирования» (OMT) ДТСймса Π Π°ΠΌ Π‘ΠΎΡƒΠ³ ΠΈ Β«ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная программная инТСнСрия» (OOSE) Π˜Π²Π°Ρ€Π° Якобсона .

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² OO Paradigm

ОО ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° являСтся Π²Π°ΠΆΠ½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ любого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… стилСй ΠΈΠ»ΠΈ шаблонов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия ΠΈ тСрминология ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм β€”

ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ β€” это элСмСнт Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π° Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ физичСскоС ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ сущСствованиС. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ β€”

  • Π˜Π΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ, которая ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² систСмС.

  • БостояниС, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ значСния свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ содСрТит.

  • ПовСдСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт внСшнС Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ дСйствия, выполняСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΅Π³ΠΎ состоянии.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ, которая ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² систСмС.

БостояниС, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ значСния свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ содСрТит.

ПовСдСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт внСшнС Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ дСйствия, выполняСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΅Π³ΠΎ состоянии.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ смодСлированы Π² соотвСтствии с потрСбностями прилоТСния. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ физичСскоС сущСствованиС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ»ΠΈΠ΅Π½Ρ‚, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ΠΈ Ρ‚. Π” .; ΠΈΠ»ΠΈ Π½Π΅ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ сущСствованиС, Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, процСсс ΠΈ Ρ‚. Π΄.

Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ класс

Класс прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ±Ρ‰Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠ»Π°Π½ ΠΈΠ»ΠΈ описаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы ΠΈΠ· Π½Π΅Π³ΠΎ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠ°ΠΊ Ρ‡Π»Π΅Π½Π° класса называСтся созданиСм экзСмпляра. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся экзСмпляром класса.

Π‘ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ класса β€”

  • Набор Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ созданы ΠΈΠ· класса. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ различия Π² значСниях Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Атрибуты часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ класса.

  • Набор ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ функциями ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ.

Набор Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ созданы ΠΈΠ· класса. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ различия Π² значСниях Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Атрибуты часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ класса.

Набор ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ функциями ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ.

ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Рассмотрим простой класс Circle, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΊΡ€ΡƒΠ³ гСомСтричСской Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС. Атрибуты этого класса ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • Ρ… – ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°, для обозначСния Ρ… – ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π°
  • Ρƒ – ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°, для обозначСния Ρƒ – ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° Ρ†Π΅Π½Ρ‚Ρ€Π°
  • Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ радиус ΠΊΡ€ΡƒΠ³Π°

НСкоторыС ΠΈΠ· Π΅Π³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • findArea (), ΠΌΠ΅Ρ‚ΠΎΠ΄ для расчСта ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ
  • findCircumference (), ΠΌΠ΅Ρ‚ΠΎΠ΄ для вычислСния окруТности
  • scale (), ΠΌΠ΅Ρ‚ΠΎΠ΄ увСличСния ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ радиуса

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ

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

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

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

ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΄Π²Π° класса, Circle ΠΈ Square, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ findArea (). Π₯отя имя ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² классах ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹, внутрСнняя рСализация, Ρ‚. Π•. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° вычислСния ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ класса. Когда ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Circle Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ свой ΠΌΠ΅Ρ‚ΠΎΠ΄ findArea (), опСрация Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΊΡ€ΡƒΠ³Π° Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ findArea () класса Square.

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ систСму, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ (ΠΏΠΎΠ²Π΅Π΄Π΅Π½Ρ‡Π΅ΡΠΊΡƒΡŽ), Ρ‚Π°ΠΊ ΠΈ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ (Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ) ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ систСмы. ДинамичСская спСцификация описываСт ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ сообщСний. А статичСская спСцификация описываСт ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ классами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡŽ, Π°ΡΡΠΎΡ†ΠΈΠ°Ρ†ΠΈΡŽ ΠΈ наслСдованиС.

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° сообщСний

Π›ΡŽΠ±ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² взаимодСйствовали Π³Π°Ρ€ΠΌΠΎΠ½ΠΈΡ‡Π½ΠΎ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² систСмС ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСний. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ систСма ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” obj1 ΠΈ obj2. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ obj1 отправляСт сообщСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ obj2, Ссли obj1 Ρ…ΠΎΡ‡Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ obj2 Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» ΠΎΠ΄ΠΈΠ½ ΠΈΠ· своих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Бостав ΠΈΠ»ΠΈ АгрСгация

АгрСгация ΠΈΠ»ΠΈ композиция β€” это связь ΠΌΠ΅ΠΆΠ΄Ρƒ классами, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ класс ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· любой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… классов. Π­Ρ‚ΠΎ позволяСт Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ нСпосрСдствСнно Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… классов. АгрСгация называСтся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ Β«Ρ‡Π°ΡΡ‚ΡŒ-Ρ‡Π°ΡΡ‚ΡŒΒ» ΠΈΠ»ΠΈ Β«ΠΈΠΌΠ΅Π΅Ρ‚-Π°Β» с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΊ Π΅Π³ΠΎ частям. АгрСгированный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ассоциация

Ассоциация β€” это Π³Ρ€ΡƒΠΏΠΏΠ° ссылок, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ‰ΡƒΡŽ структуру ΠΈ ΠΎΠ±Ρ‰Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Ассоциация ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… классов. Бсылка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°ΠΊ экзСмпляр ассоциации. Π‘Ρ‚Π΅ΠΏΠ΅Π½ΡŒ ассоциации ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ количСство классов, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² соСдинСнии. Π‘Ρ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ, Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΎΠΈΡ‡Π½ΠΎΠΉ.

  • Π£Π½Π°Ρ€Π½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса.
  • Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄Π²ΡƒΡ… классов.
  • Π’Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚Ρ€Π΅Ρ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ классов.

наслСдованиС

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

Подкласс ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ супСркласса (ΠΎΠ²) ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ супСркласс позволяСт это. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, подкласс ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ свои собствСнныС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² супСркласса. НаслСдованиС опрСдСляСт ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Β«Π΅ΡΡ‚ΡŒ -Β».

ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Из класса ΠΌΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ряд классов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, кошка, собака, ΠΊΠΎΡ€ΠΎΠ²Π° ΠΈ Ρ‚. Π”. Π›ΡŽΠ΄ΠΈ, кошки, собаки ΠΈ ΠΊΠΎΡ€ΠΎΠ²Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ характСристики ΠΌΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰ΠΈΡ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ свои особСнности. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€ΠΎΠ²Π° β€” это ΠΌΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰Π΅Π΅.

ОО Анализ

На этапС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ систСмныС трСбования, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ классы ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°ΡŽΡ‚ΡΡ взаимосвязи ΠΌΠ΅ΠΆΠ΄Ρƒ классами. ЦСлью Π°Π½Π°Π»ΠΈΠ·Π° ОО являСтся ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ области примСнСния ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ систСмы. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ этого этапа являСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· логичСской структуры ΠΈ выполнимости систСмы.

Π’Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π°Π½Π°Π»ΠΈΠ·Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ вмСстС Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°, β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, динамичСскоС ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

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

ΠŸΡ€ΠΎΡ†Π΅ΡΡ модСлирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡˆΠ°Π³Π°Ρ… β€”

  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² классы
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ классами
  • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π½Π° классах

ДинамичСскоС ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ статичСскоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Ρ†Π΅Π»ΡŒ динамичСского модСлирования.

ДинамичСскоС ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ «способ описания Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° события, Π»ΠΈΠ±ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ события, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π»ΠΈΠ±ΠΎ внСшниС события, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ внСшним ΠΌΠΈΡ€ΠΎΠΌΒ».

ΠŸΡ€ΠΎΡ†Π΅ΡΡ динамичСского модСлирования ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡˆΠ°Π³Π°Ρ… β€”

  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ состояния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ события ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡ‚ΡŒ дСйствий
  • ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ динамичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° состояний
  • Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ состояниС Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ построСнныС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ состояния-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ являСтся послСдним ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ модСль ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ процСссы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. Он опрСдСляСт смысл ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ модСлирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ дСйствий динамичСского модСлирования. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ модСль соотвСтствуСт Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ структурированного Π°Π½Π°Π»ΠΈΠ·Π°.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ модСлирования ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡˆΠ°Π³Π°Ρ… β€”

  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ всС Π²Ρ…ΠΎΠ΄Ρ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹
  • ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ зависимости
  • Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ†Π΅Π»ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ограничСния
  • Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½

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

Π­Ρ‚Π°ΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ β€”

  • ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ контСкста систСмы
  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ систСмы
  • Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² систСмС
  • ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ дизайнСрских ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
  • БпСцификация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… интСрфСйсов

ОО Π”ΠΈΠ·Π°ΠΉΠ½ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π° этапа β€” ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½.

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½

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

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½

На этом этапС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ классу Π½Π° основС ΠΈΡ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ взаимодСйствия. Π‘Ρ…Π΅ΠΌΠ° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для описания Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ конструкции. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ извСстно ΠΊΠ°ΠΊ Π΄ΠΈΠ·Π°ΠΉΠ½ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня .

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π΄ΠΈΠ·Π°ΠΉΠ½Π°

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π΄ΠΈΠ·Π°ΠΉΠ½Π° β€”

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ развязки

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

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ сплочСнности

Бвязанный класс выполняСт Π½Π°Π±ΠΎΡ€ тСсно связанных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Сдинства ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ класс выполняСт нСсвязанныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, хотя это Π½Π΅ влияСт Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ всСй систСмы. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ всю структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния слоТной для управлСния, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, обслуТивания ΠΈ измСнСния.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ-Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ

Богласно этому ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ, систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΡΡ для удовлСтворСния Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ рСализация ΠΈ ΠΊΠΎΠ΄ систСмы Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ систСмы. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ-Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ класса Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ срСдС сохраняйтС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ.

ΠœΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ использованиС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… класса.

Π’Ρ€ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ / Π₯Π°Π±Ρ€

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€!

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Β«Three ParadigmsΒ» Π°Π²Ρ‚ΠΎΡ€Π° Robert C. Martin (Uncle Bob).

Π—Π° послСдниС 40 Π»Π΅Ρ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ Π½Π°ΡˆΠΈΡ… устройств Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π° Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ порядков. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΈΠ³Ρ€Π°Π΅ΠΌ Π² Angry Birds Π½Π° Π½Π°ΡˆΠΈΡ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° 70-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ° с Ρ„Ρ€Π΅ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ ΠΎΡ…Π»Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.

Но Π·Π° Ρ‚Π΅ ΠΆΠ΅ 40 Π»Π΅Ρ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния практичСски Π½Π΅ измСнились. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΠΌΡ‹ всС Ρ‚Π°ΠΊ ΠΆΠ΅ примСняСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ if, while loops ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ использовали Π΅Ρ‰Π΅ Π² 60-Ρ… Π³ΠΎΠ΄Π°Ρ…. Если Π±Ρ‹ я взял программиста ΠΈΠ· 1960 Π³ΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π» Π΅Π³ΠΎ сюда, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ посидСл Π·Π° ΠΌΠΎΠΈΠΌ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠΌ ΠΈ написал ΠΊΠΎΠ΄ β€” Π΅ΠΌΡƒ понадобилось Π±Ρ‹ 24 часа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ шока, Π½ΠΎ ΠΎΠ½ смог Π±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ этот ΠΊΠΎΠ΄. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π½Π΅ Ρ‚Π°ΠΊ сильно измСнились.

Π’ процСссС написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ измСнились Ρ‚Ρ€ΠΈ Π²Π΅Ρ‰ΠΈ. Π― Π³ΠΎΠ²ΠΎΡ€ΡŽ Π½Π΅ ΠΎΠ± ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ, Π½Π΅ ΠΎ скорости ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ Π½Π΅ ΠΎ нСвСроятных инструмСнтах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ. Π― имСю Π² Π²ΠΈΠ΄Ρƒ сам ΠΊΠΎΠ΄. Π’Ρ€ΠΈ Π²Π΅Ρ‰ΠΈ измСнились Π² ΠΊΠΎΠ΄Π΅. МоТно ΠΈΡ… Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°ΠΌΠΈ. И всС ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Β«ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Β» Π·Π° ΠΎΠ΄Π½ΠΎ дСсятилСтиС Π±ΠΎΠ»Π΅Π΅ 40 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄.

* 1968 β€” Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ЭдсгСр ДСйкстра написал свою ΡΡ‚Π°Ρ‚ΡŒΡŽ: «О Π²Ρ€Π΅Π΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Go ToΒ» ΠΈ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ статСй, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прСдлагаСтся ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ использования Π½Π΅ΠΎΠ±ΡƒΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Go To, Π·Π°ΠΌΠ΅Π½ΠΈΠ² Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΈΠΌΠΈ срСдствами, ΠΊΠ°ΠΊ if/then/else ΠΈ while loops.

* 1966 β€” ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ОлС-Π™ΠΎΡ…Π°Π½ Π”Π°Π»ΡŒ ΠΈ ΠšΡ€ΠΈΡΡ‚Π΅Π½ ΠΡŽΠ³ΠΎΡ€, изучая язык Алгол, Β«ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚Β» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык-Π‘ΠΈΠΌΡƒΠ»Π°-67. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это достиТСниС ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство пСрспСктив, ΠΎΠ½ΠΎ Π½Π΅ принСсло Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй Π² наш ΠΊΠΎΠ΄. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΎ ΠΎΠ΄Π½Ρƒ. Π’Π΅Π΄ΡŒ с появлСниСм ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² указатСлях Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ΠΏΠ°Π»Π°, Π° Π½Π° самом Π΄Π΅Π»Π΅ исчСзла.

* 1957 β€” Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π”ΠΆΠΎΠ½ ΠœΠ°ΠΊΠΊΠ°Ρ€Ρ‚ΠΈ создаСт Lisp-ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ язык. Lisp Π±Ρ‹Π» основан Π½Π° лямбда-исчислСнии, созданном Алонзо Π§Ρ‘Ρ€Ρ‡Π΅ΠΌ Π² 30-Ρ… Π³ΠΎΠ΄Π°Ρ…. Π₯отя сущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ пСрспСктив Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²ΠΎ всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… сущСствуСт ΠΎΠ΄Π½ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅. Они Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ присваиваниС.

Π’Ρ€ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹. Π’Ρ€ΠΈ ограничСния. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ устанавливаСт ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎ прямой ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ контроля. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎ косвСнной ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ контроля. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ ограничСния ΠΏΡ€ΠΈ присваивании. ВсС эти ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ отняли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ. Ни ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ… Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй. КаТдая ΠΈΠ· Π½ΠΈΡ… повысила трСбования ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»Π° возмоТности.

МоТСм Π»ΠΈ ΠΌΡ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ? Π•ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΅Ρ‰Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ?

Π—Π° 40 Π»Π΅Ρ‚ Π½Π΅ Π±Ρ‹Π»ΠΎ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ большС Π½Π΅Ρ‡Π΅Π³ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ.

Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС эти ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹, ΠΈΠ»ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ?

Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ ΠΈΡ…. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ структурированного программирования стало Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ благодаря ΠΎΡ‚ΠΌΠ΅Π½Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Go To (ΠΊΠ°ΠΊ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ДСйкстра Π² своСй ΡΡ‚Π°Ρ‚ΡŒΠ΅). ООП Π±Ρ‹Π»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Π½Π΅Π΄Ρ€Π΅Π½Π° ΠΏΡƒΡ‚Π΅ΠΌ Π·Π°ΠΌΠ΅Π½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ функциями Π² Π½Π°ΡˆΠΈΡ… соврСмСнных языках с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java, C#, Ruby). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, для этих Π΄Π²ΡƒΡ…, ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ вопрос являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠžΠ‘Π―Π—ΠΠΠ« ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. ВсС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, строго ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹.

А ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅? Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ языки, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания? НавСрноС, Π΄Π°! ΠœΡ‹ ΡƒΠΆΠ΅ занимаСмся написаниСм ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ядрах, ΠΈ эти ядра Ρ€Π°Π·ΠΌΠ½ΠΎΠΆΠ°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠΈ. Мой Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ 4 ядра. Π£ ΠΌΠΎΠ΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚ 8. Π’ΠΎΡ‚, Ρ‡Ρ‚ΠΎ послС 16. Как Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ с 4096 процСссорами, Π±ΠΎΡ€ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π·Π° ΠΏΡ€Π°Π²ΠΎ доступа ΠΊ шинС?

ΠœΡ‹ Π΅Π΄Π²Π° Π»ΠΈ смоТСм Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π²Π° ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠ°, Π½Π΅ говоря ΡƒΠΆΠ΅ ΠΎ 2^n процСссорах.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ являСтся Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ присваиваниС, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΠΎΡΡ‚ΡŒΡŽ β€” ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρ‚Π°ΠΊΠΎΠ²Π° тСория.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π±Π»ΠΎΠ³Π°Ρ…. Π§Ρ‚ΠΎ мСня ΠΏΠΎΡ€Π°ΠΆΠ°Π΅Ρ‚ Π² Ρ‚Ρ€Π΅Ρ… ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°Ρ…, упомянутых Π²Ρ‹ΡˆΠ΅, Ρ‚Π°ΠΊ это ΠΈΡ… Π΄Π°Ρ‚Ρ‹. Они Π΄Ρ€Π΅Π²Π½ΠΈΠ΅, ΠΏΠΎΡ‡Ρ‚ΠΈ ΡΡ‚Π°Ρ€ΡˆΠ΅ мСня. И с Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ исполнилось 16, 42 Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄, Π½ΠΎΠ²Ρ‹Ρ… Π½Π΅ Π±Ρ‹Π»ΠΎ.

ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования β€” ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ ΠΆΠΈΠ·Π½ΠΈ / ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π° / Π₯Π°Π±Ρ€

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ повСрхностно, Π½Π΅ ΡƒΠ³Π»ΡƒΠ±Π»ΡΡΡΡŒ Π² Π΄Π΅Π±Ρ€ΠΈ, Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ понятиС β€œΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования”. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡ написана простым языком, Π² Π½Π΅ΠΉ практичСски Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ слоТныС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΈ спСцифичныС для языков программирования понятия, поэтому ΠΎΠ½Π° ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для прочтСния ΠΊΠ°ΠΊ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ программистам, Ρ‚Π°ΠΊ ΠΈ людям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ писали ΠΊΠΎΠ΄.

ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования

Ну Ρ‡Ρ‚ΠΎ ΠΆΠ΅, приступим. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π΄Π°Π½Π½ΠΎΠ΅ словосочСтаниС покаТСтся ΠΏΡƒΠ³Π°ΡŽΡ‰ΠΈΠΌ, Π½ΠΎ, Π½Π° самом ΠΆΠ΅ Π΄Π΅Π»Π΅, здСсь Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного. Π§Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ β€œΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования”? Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ: β€œΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования – это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ΄Π΅ΠΉ ΠΈ понятий, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… ΡΡ‚ΠΈΠ»ΡŒ написания ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ). Π­Ρ‚ΠΎ способ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ вычислСний ΠΈ структурированиС Ρ€Π°Π±ΠΎΡ‚Ρ‹, выполняСмой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌβ€.

β€” Π₯ΠΌΠΌ, нСпонятно!

Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ самым простым языком, Ρ‚ΠΎ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования – это ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ написанию ΠΊΠΎΠ΄Π°. Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ Π±Π΅Π· ΠΎΠΏΡ‹Ρ‚Π° программирования, вСроятнСС всСго, зададутся вопросами: β€œΠ Ρ‡Ρ‚ΠΎ это Π·Π° Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹? Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Ρ‹ пишСшь ΠΊΠΎΠ΄ сначала Π»Π΅Π²ΠΎΠΉ Ρ€ΡƒΠΊΠΎΠΉ, ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ? Или ΠΆΠ΅ Ρ‚Ρ‹ пишСшь ΠΊΠΎΠ΄ час, Π° ΠΏΠΎΡ‚ΠΎΠΌ полчаса ΠΎΡ‚Π΄Ρ‹Ρ…Π°Π΅ΡˆΡŒ? Π§Ρ‚ΠΎ это Π·Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹?!”. На самом ΠΆΠ΅ Π΄Π΅Π»Π΅, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΠΏΠΎΠ΄ собой совсСм Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΈ Π΄Π°Π»Π΅ΠΊΠΈ ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², описанных Π΄ΠΎ этого.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΄Π²Π° основных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ основныС ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹: ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ООП) ΠΈ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ЀП). ООП основано Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ характСристики (поля) ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ дСйствия (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ). ЀП ΠΆΠ΅ основано Π½Π° описаниС процСссов (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ), Π° Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Понимаю, ΠΏΠΎΠΊΠ° Π½Π΅ понятно, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π²Π° числа (a ΠΈ b). На ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅ прСдставлСн ΠΊΠΎΠ΄, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ это Π² ООП ΠΈ ЀП (ΠΊΠΎΠ΄ Π±Ρ‹Π» ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡƒΠΏΠΎΡ€ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Ρ€Π°Π·Π½ΠΈΡ†Π΅ Π΄Π²ΡƒΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ²). Π’Ρ‹ сразу ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€œsum” (слоТСниС) ΠΈ β€œsubtract” (Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

β€” Π’Π°ΠΊ, Π½Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ я Π²ΠΈΠΆΡƒ, Π° ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π² ООП Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ β€œclass Calculator”, Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚?

Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, ООП основано Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€œΠ’ΡΠ΅Π»Π΅Π½Π½Π°Ρβ€, ΠΎΠ½Π° состоит ΠΈΠ· Π³Π°Π»Π°ΠΊΡ‚ΠΈΠΊ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€œΠ“Π°Π»Π°ΠΊΡ‚ΠΈΠΊΠ°β€), Ρ‚Π°, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, состоит ΠΈΠ· ΠΏΠ»Π°Π½Π΅Ρ‚ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€œΠŸΠ»Π°Π½Π΅Ρ‚Π°β€), Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Π½Π΅Ρ‚Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ люди (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€œΠ§Π΅Π»ΠΎΠ²Π΅ΠΊβ€) ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€œΠ§Π΅Π»ΠΎΠ²Π΅ΠΊβ€, Π΅Π³ΠΎ характСристиками (полями) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ: Ρ†Π²Π΅Ρ‚ ΠΊΠΎΠΆΠΈ, ΠΏΠΎΠ», рост, возраст (Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅). И Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ): Π±Π΅Π³Π°Ρ‚ΡŒ, ΠΊΡƒΡˆΠ°Ρ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΏΡ€ΠΎΠ΅Ρ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ (ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ) Π½Π° Тизнь, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всС Π²ΠΎΠΊΡ€ΡƒΠ³ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π²Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ любоС дСйствиС (ΠΌΠ΅Ρ‚ΠΎΠ΄/функция) связано с ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΎΠ½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ само ΠΏΠΎ сСбС, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. ИмСнно ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ наши дСйствия (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ) β€œsum” ΠΈ β€œsubtract” находятся Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€œCalculator” (ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€).

β€” Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ! ΠŸΡ€ΠΎ ООП я понял, Π° ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π² ЀП всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ Π½Π΅ привязаны, находятся сами ΠΏΠΎ сСбС?

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

β€” Π€ΡƒΡ…, Π½Ρƒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ понятно, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования. Ну всС-Ρ‚Π°ΠΊΠΈ остался вопрос: ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π³Π΄Π΅-Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄Π½Π° ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°, Π° Π³Π΄Π΅-Ρ‚ΠΎ другая?

Π’Ρ‹ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅ΡΡŒ, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅, Π΄Π²Π΅ эти ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ΠžΠΏΡΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, спроСцированный Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ Тизнь. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ:

  1. [ООП] ΠžΠ±ΡŠΠ΅ΠΊΡ‚ β€œΠ§Π΅Π»ΠΎΠ²Π΅ΠΊβ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… характСристик (ΠΏΠΎΠ»Π΅ΠΉ) (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ», рост ΠΈ количСство Π»Π΅Ρ‚), Π½ΠΎ Π·Π°Ρ‚ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ (ΠΈΠΌΠ΅Π΅Ρ‚ дСйствиС (ΠΌΠ΅Ρ‚ΠΎΠ΄/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ) β€œΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ уТин”)
  2. [ООП] ΠžΠ±ΡŠΠ΅ΠΊΡ‚ β€œΠ‘ΠΎΠ±Π°ΠΊΠ°β€, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ характСристики (поля), ΠΊΠ°ΠΊ Ρ†Π²Π΅Ρ‚ ΡˆΠ΅Ρ€ΡΡ‚ΠΈ, возраст. И Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ½Π° ΡƒΠΌΠ΅Π΅Ρ‚ Π±Π΅Π³Π°Ρ‚ΡŒ (ΠΈΠΌΠ΅Π΅Ρ‚ дСйствиС (ΠΌΠ΅Ρ‚ΠΎΠ΄/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ) β€œΠ±Π΅ΠΆΠ°Ρ‚ΡŒβ€)
  3. [ЀП] ΠŸΡ€ΠΎΡ†Π΅ΡΡ (функция) β€œΠŸΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ уТина”.

И, допустим, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠΆΠΈΠ½. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ β€œΠ§Π΅Π»ΠΎΠ²Π΅ΠΊβ€ ΡƒΠΌΠ΅Π΅Ρ‚ это Π΄Π΅Π»Π°Ρ‚ΡŒ сам ΠΏΠΎ сСбС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ дСйствиС (ΠΌΠ΅Ρ‚ΠΎΠ΄/функция), Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ процСссом (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ) β€œΠŸΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ уТина”, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ доступСн всСм, Π½ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ процСсс (функция) ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° всСх, Π° дСйствиС (ΠΌΠ΅Ρ‚ΠΎΠ΄/функция) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° этого ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. Π₯ΠΎΡ€ΠΎΡˆΠΎ, Π° Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ с собакой? Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Π½Π΅Π΅ Π½Π΅Ρ‚ дСйствия (ΠΌΠ΅Ρ‚ΠΎΠ΄Π°/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ) β€œΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ уТин”, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½Π° ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ этого Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ‰ΠΈΠΌ процСссом (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ) β€œΠŸΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ уТина”. Π₯ΠΎΡ‡Ρƒ Π΅Ρ‰Π΅ Ρ€Π°Π· ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ процСсса Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠ°ΠΊ программист, написавший этот процСсс (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ), ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ эти Π΄Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π² ΠΈΡ‚ΠΎΠ³Π΅, смоТСт собака ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠΆΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅Ρ‚ β€” Ρ€Π΅ΡˆΠ°Π΅Ρ‚ программист.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π˜Ρ‚Π°ΠΊ, Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° ΠΏΠ°Π»ΡŒΡ†Π°Ρ…, Π±Π΅Π· спСцифичСских Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ², Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ основныС различия ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ ООП ΠΈ ЀП. К соТалСнию, Ρ‚ΡƒΡ‚ Π½Π°ΠΌ ΠΏΠΎΡ€Π° ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ваш Ρ…ΠΎΠ΄ – ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒ знания с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

Π”ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ я Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ творчСски подошСл ΠΊ написанию Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ: упростил Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, Π° Π³Π΄Π΅-Ρ‚ΠΎ ΠΈ вовсС Π·Π°ΠΌΠ΅Π½ΠΈΠ» понятия ΠΌΠ΅Ρ‚Π°Ρ„ΠΎΡ€Π°ΠΌΠΈ, Π½ΠΎ всС это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ любой Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ Π² этой области, ΠΌΠΎΠ³ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Π΅ΠΌΡƒ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ программирования. Π― надСюсь, Ρ‡Ρ‚ΠΎ данная ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π΅Π·Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ программистам ΠΈ послС Π΅Π΅ прочтСния ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΡ€ программирования стал Ρ‡ΡƒΡ‚ΡŒ Π±Π»ΠΈΠΆΠ΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ структурная ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования / Π₯Π°Π±Ρ€

Π­Ρ‚Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ я ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» Π²ΠΎ врСмя дискуссий ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° ΠœΠΎΡΡ‚, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° Π½Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π». Π”ΡƒΠΌΠ°Π» Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ упомянута Domain Driven Design, ΠΈ казалось, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ проСктирования ΠΈ программирования ΠΈΠΌΠ΅Π½Π½ΠΎ Π² стилС ООП Π½ΠΈΠΊΠ΅ΠΌ Π½Π΅ ΠΎΡΠΏΠ°Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ. Но всС ΠΆΠ΅ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ я столкнулся с Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ чисто историчСская тСорСтичСская ΡΡ‚Π°Ρ‚ΡŒΡ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΎΠ±Ρ…Π²Π°Ρ‚Π° всСй ΡˆΠΈΡ€ΠΎΡ‚Ρ‹ Ρ‚Π΅ΠΌΡ‹. Но это Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ посыл ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΏΠΎ Π²Π΅Ρ€Ρ…Π°ΠΌ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎ, Π° Ρ‡Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎ.

Π—Π°Π³Π»Π°Π²ΠΈΠ΅ этой Ρ‚Π΅ΠΌΡ‹ для ΠΌΠ½ΠΎΠ³ΠΈΡ… сСйчас ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ спорным (ΠΈ скорСС Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ, Π½ΠΎ для Π΄Π΅Π»Π° πŸ™‚ ). Но всС ΠΆΠ΅ ΠΌΡ‹ постараСмся это здСсь ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠΌΠΈ свойствами Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠΎΠΉ.

ЕдинствСнно ΠΏΡ€ΠΎΡˆΡƒ, Ссли ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ β€” ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ сдСрТано.

Π§Ρ‚ΠΎ Π½Π°ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π€Π»ΠΎΠΉΠ΄ ΠΎ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°Ρ…?

Π’Π΅Ρ€ΠΌΠΈΠ½ Β«ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования» Π²Π²Π΅Π» Π ΠΎΠ±Π΅Ρ€Ρ‚ Π€Π»ΠΎΠΉΠ΄ (»R. W. Floyd.» [http://www.ias.ac.in/resonance/May2005/pdf/May2005Classics.pdf The Paradigms of Programming] »Communications of the ACM», 22(8):455β€”460, 1979. Русский ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ см. Π² ΠΊΠ½.: Π›Π΅ΠΊΡ†ΠΈΠΈ Π»Π°ΡƒΡ€Π΅Π°Ρ‚ΠΎΠ² ΠΏΡ€Π΅ΠΌΠΈΠΈ Π’ΡŒΡŽΡ€ΠΈΠ½Π³Π° Π·Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ Π»Π΅Ρ‚ (1966β€”1985), М.: МИР, 1993.). Он Π² своСй Π»Π΅ΠΊΡ†ΠΈΠΈ Π² 1979 Π³ΠΎΠ΄Ρƒ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

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

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

ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° »’Π΄Π°ΠΆΠ΅»’ Π±ΠΎΠ»Π΅Π΅ высокого уровня абстракции, Ρ‡Π΅ΠΌ »’ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° структурного программирования»’ β€” это конструированиС ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ языков, Π³Π΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС самого высокого уровня воздСйствуСт с абстрактными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΈ пСрСводят ΠΈΡ… Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ языка ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ Π±ΠΎΠ»Π΅Π΅ высокого уровня

Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, сущСствуСт тСндСнция ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ стоящими Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, ΠΊΠ°ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Но это Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ взаимозамСняСмыми.

Как ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π . Π€Π»ΠΎΠΉΠ΄ Ρ‚ΠΎΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°Π» ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ Π½Π° Π±ΠΎΠ»Π΅Π΅ высокоуровнСвыС, ΠΈ Π±ΠΎΠ»Π΅Π΅ спСциализированныС. КакиС ΠΆΠ΅ особСнности ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±ΠΎΠ»Π΅Π΅ высокоуровнСвыС? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡ… примСнСния ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ. Но Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, вопрос Ρ‚ΡƒΡ‚ Π½Π΅ Π² особСнностях ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ. ВсС ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ спСциализированным способом β€” вовсС Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°ΠΌΠΈ, это лишь особый ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ высокого уровня.

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

Но возвратимся ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ вопросу: Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ? Но Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° Π½Π΅Π³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ историчСский экскурс.

ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ структурного программирования

ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅ΠΈ ΠΎ структурном ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ послС Π΄ΠΎΠΊΠ»Π°Π΄Π° Π­. ДСйкстры Π΅Ρ‰Π΅ Π² 1965 Π³ΠΎΠ΄Ρƒ, Π³Π΄Π΅ ΠΎΠ½ обосновал ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° GOTO. ИмСнно этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² нСструктурированныС (Π‘ΠΏΠ°Π³Π΅Ρ‚Ρ‚ΠΈ-ΠΊΠΎΠ΄), Π° ДСйкстра Π΄ΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· использования этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ станут структурными.

Но ΠΎΠ΄Π½ΠΎ Π΄Π΅Π»ΠΎ тСория, Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Π’ этом смыслС, прСдставляСт интСрСс Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, какая ситуация Π±Ρ‹Π»Π° ΠΊ 1975 Π³ΠΎΠ΄Ρƒ. Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎ ΠΊΠ½ΠΈΠ³Π΅ Π­. Π™ΠΎΠ΄Π°Π½Π° ([http://www.az-design.ru/index.shtml?Projects&AzBook&src/005/02YE000 Π™ΠΎΠ΄Π°Π½ Π­. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ конструированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, 1975]). Π Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ это Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сСйчас спустя Π±ΠΎΠ»Π΅Π΅ 30 Π»Π΅Ρ‚, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΡƒΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстныС Ρ‚ΠΎΠ³Π΄Π°, сСйчас ΠΏΠ΅Ρ€Π΅ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ, ΠΈ возводятся Π² Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π½Π³. Но ΠΏΡ€ΠΈ этом тСряСтся историчСский контСкст, ΠΈ иСрархия ваТности этих ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎ, Π° Ρ‡Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎ. Π­Ρ‚Π° ситуация аморфности ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ сСгодняшнСС состояниС программирования.

Но Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Ρ‚ΠΎΠ³Π΄Π°? Как описываСт Π™ΠΎΠ΄Π°Π½, всС начинаСтся с ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° вопрос: Β«Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ?Β». Π’ΠΎΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ, Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ вопросы Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования высокого уровня. Если ΠΎΠ½Π° Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ прямо Π½Π° этот вопрос, Π° рассказываСт Π²Π°ΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ интСрСсныС характСристики вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π΅Π»ΠΎ с ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠΎΠΉ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня β€” ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»Π΅Π½, довольно Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΉ спор программистов:

* ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ А: β€œΠœΠΎΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² Π΄Π΅ΡΡΡ‚ΡŒ Ρ€Π°Π· быстрСС вашСй, ΠΈ ΠΎΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π° мСньшС памяти!”

* ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ Π‘: β€œΠ”Π°, Π½ΠΎ ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π° моя β€” Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!”

Но ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ постоянно ΡƒΡΠ»ΠΎΠΆΠ½ΡΡŽΡ‚ΡΡ ΠΈ поэтому Π½Π°ΠΌ нСдостаточно Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просто Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. НуТны ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ самого программиста. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ это Π½Π΅ тСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ систСматичСской ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² смыслС Π΅Ρ‘ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π°, говоря соврСмСнным языком, Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ ΠΊΠΎΠ΄Π° (Code review).

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΡƒΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ гибкости ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ β€” ΠΎ простотС Π΅Π΅ измСнСния, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ постоянно ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° вопросы ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°. β€œΠ§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ эту Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ?”, β€œΠ§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ?”, β€œΠ Ρ‡Ρ‚ΠΎ, Ссли Π½Π°ΠΌ придСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ‚Π°ΠΊΠΈΡ…-Ρ‚ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…?”, β€œΠ§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ способом?”.

Π’Π°ΠΊΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ ваТности спСцификаций интСрфСйсов, Ρ‚.Π΅. Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ спСцификации Π²Ρ…ΠΎΠ΄ΠΎΠ², Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляли Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΈ нСизмСнности модуля. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Ρ‡Ρ‚ΠΎ касаСтся нСизмСнности модуля, Ρ‚ΠΎ ΠΎΠ½Π° Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»Π°ΡΡŒ Π½Π΅ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π° с Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²:

1. ЛогичСская структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚.Π΅. Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Если вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° зависит ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, Ρ‚ΠΎ Π² ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… модулях потрСбуСтся внСсти измСнСния ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°?

2. АргумСнты, ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, модуля. Π’.Π΅. ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ спСцификации интСрфСйсов.

3. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ константы. МногиС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ зависят ΠΎΡ‚ ΠΎΠ±Ρ‰ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†, Ссли измСняСтся структура Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†, Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ измСнятся.

4. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ большСй стСпСни эта Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° зависимости ΠΎΡ‚ ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†, упомянутой Π²Ρ‹ΡˆΠ΅, с Ρ‚ΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ с практичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ нСзависимой ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

5. ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ структура управлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. НСкоторыС ΠΏΠΈΡˆΡƒΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ особСнно Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡΡΡŒ Π½Π°Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Но Ссли измСнились трСбования. ΠšΠ°ΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ логичСской структуры модуля Π½Π°ΠΌ придСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ?

Π­Ρ‚ΠΈ ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… аспСктов (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ‚ΡƒΡ‚ Π½Π΅ рассмотрСли) Π² Ρ†Π΅Π»ΠΎΠΌ ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ прСдставлСниС ΠΎ структурном ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π—Π°Π±ΠΎΡ‚Π° ΠΎΠ± этих аспСктах ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ структурноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠΎΠΉ высокого уровня.

ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования

Как ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ всС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² структурном ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ПоявлСниС Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ нСизвСстных Π΄ΠΎ этого ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² написания Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ? НСт. Π­Ρ‚ΠΎ всСго лишь Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»ΠΎ Π±Ρ‹ способы ΠΈ идСологию написания структурированных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚.Π΅. ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ структурного программирования.

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

Π£ΠΆΠ΅ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ появлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ стала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ всС Π±ΠΎΠ»Π΅Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° структурного программирования ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π», послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ становится нСвыносимо слоТно. Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚ Π“. Π¨ΠΈΠ»Π΄Ρ‚:

На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС развития программирования появлялись ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства для β€œΠΎΠ±ΡƒΠ·Π΄Π°Π½ΠΈΡβ€ растущСй слоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. И Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ этапС Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²Π±ΠΈΡ€Π°Π» Π² сСбя всС самоС Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ…, знамСнуя собой прогрСсс Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ ΠΎΠ± ООП. Π”ΠΎ ООП ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ достигали (Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π»ΠΈ) ΠΏΡ€Π΅Π΄Π΅Π», Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ структурный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ оказывался ΡƒΠΆΠ΅ нСработоспособным. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для прСодолСния трудностСй, связанных с услоТнСниСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² ООП. ([http://www.williamspublishing.com/Books/978-5-8459-1684-6.html Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚ Π¨ΠΈΠ»Π΄Ρ‚, C# 4.0 ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство, 2011])

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ практичСски ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ возникновСния ΠΏΡ€Π΅Π΄Π΅Π»Π° слоТности, обратимся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· основополоТников ООП β€” Π“Ρ€Π°Π΄ΠΈ Π‘ΡƒΡ‡Ρƒ ([http://www.helloworld.ru/texts/comp/other/oop/index.htm Π“Ρ€Π°Π΄ΠΈ Π‘ΡƒΡ‡, ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅]). Π‘Π²ΠΎΠ΅ объяснСниС ООП ΠΎΠ½ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ систСмы ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ слоТными. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ вопросу написания слоТных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π”Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ вопросу связи слоТности ΠΈ чСловСчСских возмоТностСй ΠΏΠΎΠ½ΡΡ‚ΡŒ эту ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ:

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

Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ:

ДСкомпозиция: алгоритмичСская ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная? Какая дСкомпозиция слоТной систСмы ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ β€” ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ ΠΈΠ»ΠΈ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ? Π’ этом вопросС Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π²ΠΎΡ…, ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ: Π²Π°ΠΆΠ½Ρ‹ ΠΎΠ±Π° аспСкта. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ ΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° порядкС происходящих событий, Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ особоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Π³Π΅Π½Ρ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π»ΠΈΠ±ΠΎ ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ дСйствия. Однако ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ систСму ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ двумя способами. ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ систСмы Π»ΠΈΠ±ΠΎ ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ, Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, Π° Π·Π°Ρ‚Π΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ структуру, ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния. ΠžΠΏΡ‹Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π΅Π΅ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Π’Π°ΠΊΠΎΠ΅ Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ΠΏΡ€ΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ организованности слоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π΄Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ Π½Π°Π΄ структурными ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ, Π½ΠΎ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΎΠΈΡ…. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, структурныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΡ‚ΡŒΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ чСловСчСский ΠΌΠΎΠ·Π³ ΠΌΠΎΠ³ справится со ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡. Π”Π°Π»Π΅Π΅ ΠΎΠ½ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ:

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅, оказываСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° Π΅ΡΡ‚ΡŒ Π½Π΅ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅, наиглавнСйший аспСкт ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ‡Π΅Ρ‚ΠΊΠΎ Π²Ρ‹Ρ€Π°Π·ΠΈΠ» Π‘. Π›Π΅ΠΌ:

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это ΠΏΠΎΠ΄Ρ€Π°ΠΆΠ°Π½ΠΈΠ΅ ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π΅, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΅Π΅ свойства. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅? Из-Π·Π° нашСго нСумСния? НСт. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΈΠ·Π±Ρ‹Ρ‚ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΠΊ, ΠΏΡ€Π°Π²Π΄Π°, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈ Π΅Π΅ Π½Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ. Π₯ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊ ΠΏΠΈΡˆΠ΅Ρ‚ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹, Π½ΠΎ, хотя ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ с Π½ΠΈΠΌ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, ΠΌΡ‹ Π½Π΅ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ создаСт свои произвСдСния. О Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ происходит Π² Π΅Π³ΠΎ ΠΌΠΎΠ·Π³Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΠΈΡˆΠ΅Ρ‚ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ, Π΅ΠΌΡƒ самому нСизвСстно. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± этом находится Π² Π΅Π³ΠΎ Π³ΠΎΠ»ΠΎΠ²Π΅, Π½ΠΎ Π½Π°ΠΌ ΠΎΠ½Π° нСдоступна. ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΡ, слСдуСт ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ: машина, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ вСсьма ΡΠΊΡ€ΠΎΠΌΠ½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ, рассказала Π±Ρ‹ Π½Π°ΠΌ ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ…, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ·Π³ΠΎΠ²Ρ‹Ρ…, основах Тивописи большС, Ρ‡Π΅ΠΌ такая ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Π°Ρ «модСль» Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊΠ°, ΠΊΠ°ΠΊΠΎΠΉ являСтся Π΅Π³ΠΎ Π±Ρ€Π°Ρ‚-Π±Π»ΠΈΠ·Π½Π΅Ρ†. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° модСлирования ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΡƒΡ‡Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…. МодСль ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» Π±Ρ‹Π»ΠΈ Π±Ρ‹ тоТдСствСнны, Ссли Π±Ρ‹ процСссы, происходящиС Π² Π½ΠΈΡ…, совпадали. Π­Ρ‚ΠΎΠ³ΠΎ Π½Π΅ происходит. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ развития ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ развития. На это Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π»ΠΈΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°: ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΠΎΠΌ, свойства ΠΌΠΎΠ΄Π΅Π»ΠΈ, Ρ‡ΡƒΠΆΠ΄Ρ‹Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Ρƒ, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ самого ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π°. (Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ произвСдСния Β«Π‘ΡƒΠΌΠΌΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉΒ», Бтанислав Π›Π΅ΠΌ, 1967)

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π‘. Π›Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ абстрагировании ΠΊΠ°ΠΊ основС модСлирования. Π’ Ρ‚ΠΎΠΆΠ΅ врСмя абстрагированиС ΠΈ Π΅ΡΡ‚ΡŒ Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹. Π“. Π‘ΡƒΡ‡ ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠΏΠΈΡˆΠ΅Ρ‚:

Разумная классификация, нСсомнСнно, β€” Ρ‡Π°ΡΡ‚ΡŒ любой Π½Π°ΡƒΠΊΠΈ. ΠœΠΈΡ…Π°Π»ΡŒΡΠΊΠΈ ΠΈ Π‘Ρ‚Π΅ΠΏΠΏ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‚: Β«Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Π½Π°ΡƒΠΊΠΈ являСтся построСниС ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ классификации Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ситуаций. Вакая классификация сущСствСнно ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ основной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ дальнСйшСС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π°ΡƒΡ‡Π½ΠΎΠΉ Ρ‚Π΅ΠΎΡ€ΠΈΠΈΒ». ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ классификация Ρ‚Π°ΠΊ слоТна? ΠœΡ‹ объясняСм это отсутствиСм Β«ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠΉΒ» классификации, хотя, СстСствСнно, ΠΎΠ΄Π½ΠΈ классификации Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ…. ΠšΡƒΠΌΠ±Ρ, Π Π°Ρ„Ρ„ΡŒΡ ΠΈ Π’Ρ€Π°Π» ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ «сущСствуСт ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ способов дСлСния ΠΌΠΈΡ€Π° Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ систСмы, сколько ΡƒΡ‡Π΅Π½Ρ‹Ρ… принимаСтся Π·Π° эту Π·Π°Π΄Π°Ρ‡ΡƒΒ». Π›ΡŽΠ±Π°Ρ классификация зависит ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π€Π»ΡƒΠ΄ ΠΈ ΠšΡΡ€ΡΠΎΠ½ приводят ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Β«Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΠΎΠ΅ ΠšΠΎΡ€ΠΎΠ»Π΅Π²ΡΡ‚Π²ΠΎβ€¦ экономисты ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ экономичСский институт, социологи β€” ΠΊΠ°ΠΊ общСство, Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ срСды β€” ΠΊΠ°ΠΊ Π³ΠΈΠ±Π½ΡƒΡ‰ΠΈΠΉ ΡƒΠ³ΠΎΠ»ΠΎΠΊ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹, амСриканскиС туристы β€” ΠΊΠ°ΠΊ Π΄ΠΎΡΡ‚ΠΎΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, совСтскиС Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ β€” ΠΊΠ°ΠΊ Π²ΠΎΠ΅Π½Π½ΡƒΡŽ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ€ΠΎΠΌΠ°Π½Ρ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΈΠ· нас, Π±Ρ€ΠΈΡ‚Π°Π½Ρ†Π΅Π² β€” ΠΊΠ°ΠΊ Π·Π΅Π»Π΅Π½Ρ‹Π΅ Π»ΡƒΠ³Π° Ρ€ΠΎΠ΄ΠΈΠ½Ρ‹Β».

И дальшС ΠΎΠ½ рассказываСт, ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… абстракций, Ρ‚Π΅Ρ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹:

»’Поиск ΠΈ Π²Ρ‹Π±ΠΎΡ€ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… абстракций.»’ ΠšΠ»ΡŽΡ‡Π΅Π²Π°Ρ абстракция β€” это класс ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ области. »’Бамая главная Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… абстракций Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ нашСй ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹»’: Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π½Π°ΡˆΡƒ систСму ΠΈ поэтому Π²Π°ΠΆΠ½ΠΎ для нас, ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ лишнСС. Π—Π°Π΄Π°Ρ‡Π° выдСлСния Ρ‚Π°ΠΊΠΈΡ… абстракций спСцифична для ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ области. Как ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Π“ΠΎΠ»Π΄Π±Π΅Ρ€Π³, Β«ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² зависит ΠΎΡ‚ назначСния прилоТСния ΠΈ стСпСни Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΒ».

Как ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… абстракций Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π΄Π²Π° процСсса: ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅. ΠœΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ абстракции, ΡΠ»ΡƒΡˆΠ°Ρ спСциалистов ΠΏΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области: Ссли экспСрт ΠΏΡ€ΠΎ Π½Π΅Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‚ΠΎ эта абстракция ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π°ΠΆΠ½Π°. Π˜Π·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ, ΠΌΡ‹ создаСм Π½ΠΎΠ²Ρ‹Π΅ классы ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ систСмы. НапримСр, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ «счСт, ΡΠ½ΡΡ‚ΡŒ, ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒΒ»; эти Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ β€” Ρ‡Π°ΡΡ‚ΡŒ словаря ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ систСмы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΡ…, Π½ΠΎ добавляСт свои, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, диспСтчСр экрана, список, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π­Ρ‚ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ абстракции созданы ΡƒΠΆΠ΅ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ, Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

НаиболСС ΠΌΠΎΡ‰Π½Ρ‹ΠΉ способ выдСлСния ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… абстракций β€” ΡΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΊ ΡƒΠΆΠ΅ извСстным классам ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ.

Π˜Ρ‚Π°ΠΊ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° становится ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠΎΠΉ высокого уровня, ΠΈ главСнствуСт Π½Π°Π΄ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ структурного программирования, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ занимаСтся ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, строит ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… областСй Π½Π° языкС спСциалистов этих областСй. Если Π’Ρ‹ этим ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅ΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π΄ΠΈ написания Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ станСт Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ интСрфСйсы ΠΈ нСзависимыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π²Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ структурного программирования. Π’Π°ΡˆΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ всСм Ρ…ΠΎΡ€ΠΎΡˆΠ°, Π½ΠΎ Π΅Ρ‘ нСльзя Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ объяснСна Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ извСстных Π²Π°ΠΌ, Π° спСциалист Π·Π½Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π½Π΅ смоТСт Π±Π΅Π· вашСй ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ·ΠΊΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, хотя Π²Ρ‹ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Но ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π° Π½Π΅ модСль. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈΠ»ΠΈ лишь Π΅Ρ‘ повСрхностноС прСдставлСниС, Β«Π²Π·ΠΎΡ€Π²Π΅Ρ‚Β» Π²Π°ΡˆΡƒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ, ΠΈ Π½Π΅ даст дальшС Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ Π΅Ρ‘ Π² дальнСйшСм. Когда Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ классы, абстракций ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ сущСствуСт, ΠΊΠΎΠ³Π΄Π° эти классы чисто систСмныС ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹ лишь для упрощСния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² взаимодСйствия Π΄Ρ€ΡƒΠ³ΠΈΡ… классов β€” вашС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС становится «с Π±ΠΎΡ€ΠΎΠ΄ΠΎΠΉΒ», ΠΈ Ссли ΠΏΡƒΡ‚Π΅ΠΌ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π΅ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚Π°ΠΊΠΈΠΌΠΈ участками Π² ΠΎΠ΄ΠΈΠ½ прСкрасный ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ вашСго ПО остановится, ΠΈ станСт Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ β€” Π²Ρ‹ достигнитС ΠΏΡ€Π΅Π΄Π΅Π»Π° структурного программирования (Π° Π²Π°ΠΌ казалось, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ классы ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π°ΠΌ это Π½Π΅ Π³Ρ€ΠΎΠ·ΠΈΡ‚?).

upd. Π― Ρ‚ΡƒΡ‚ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», Ρ‚Π΅ΠΌΠ° острая, я ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Ρƒ. Π€Π°ΠΊΡ‚Ρ‹ я ΠΈΠ·Π»ΠΎΠΆΠΈΠ» Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅, Π° ΡΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ…ΠΎΠ»ΠΈΠ²Π°Ρ€Π° Π½Π΅ Ρ…ΠΎΡ‡Ρƒ. Если это Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ β€” Π½Ρƒ, Ρ‡Ρ‚ΠΎ ΠΆ Π·Π½Π°Ρ‡ΠΈΡ‚ Π½Π΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ Π² этот Ρ€Π°Π·. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ конструктивно β€” Ссли Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€Π΄ΠΎΠ²ΠΎΠ΄Ρ‹ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅. Π― ΠΆΠ΅ Π½Π΅ Π±Π΅Ρ€ΡƒΡΡŒ Ρ€Π°Π·Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ массовыС стСрСотипы.

Π”Π°, ΠΈ Π΅Ρ‰Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ понятно β€” ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ я Ρ€Π΅ΡˆΠΈΠ» послС дискуссий здСсь Π—Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Ρ†Π΅ΠΏΡ‚Ρ€ΠΎΠ½ Π ΠΎΠ·Π΅Π½Π±Π»Π°Ρ‚Ρ‚Π°?, Π³Π΄Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ стало понятно, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ построСнии ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ООП Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΡƒΠΆΠ΅ Π½Π΅ ΠΊΡƒΠ΄Π°. И Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ хвалятся супСр ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ β€” это фикция, Π½Π° самом Π΄Π΅Π»Π΅ Π²Π°ΠΆΠ½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ модСль. Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… (Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ, Π½ΠΎ Π΅Π³ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ повсСмСстно, Ρ‚Π°ΠΌ Π³Π΄Π΅ ΠΎΠ½ΠΎ Π½Π΅ Π΄Π°Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ. Ну, ΠΈΠ»ΠΈ Ρ‚Π°ΠΊ β€” смоТСтС Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ обсуТдаСмый Ρ‚Π°ΠΌ кусок Π’ΠžΠ›Π¬ΠšΠž Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ стилС, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ быстрСС, Ρ‡Π΅ΠΌ с событиями ООП?

Π”Π΅ΡΡΡ‚ΡŒ Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Ρ‚Π΅Ρ€ΠΏΠ΅Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠ³Ρƒ Π² ООП / Π₯Π°Π±Ρ€

Π‘ΠΎΠΆΠ΅, Π²Ρ€Π΅ΠΌΠ΅Π½Π°ΠΌΠΈ я просто Π½Π΅Π½Π°Π²ΠΈΠΆΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

НавСрноС, я Π½Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΊΠΎΠΉ. БСссмСртныС слова ЭдсгСра ДСйкстры гласят:

Β«ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ плохая идСя, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠšΠ°Π»ΠΈΡ„ΠΎΡ€Π½ΠΈΠΈ.”

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

1. ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°

Π§Ρ‚ΠΎ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования? Π•ΡΡ‚ΡŒ Π»ΠΈ Π½Π° это прямой ΠΎΡ‚Π²Π΅Ρ‚? Π― ΡΠ»Ρ‹ΡˆΠ°Π» ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий, Ρ‡Ρ‚ΠΎ ΠΈ сам Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ знаю.

Если ΠΌΡ‹ посмотрим Π½Π° ΠΈΠ΄Π΅ΠΈ Smalltalk’а, ΠΌΡ‹ столкнСмся с ΠΌΠ°Π½Ρ‚Ρ€ΠΎΠΉ: β€œΠ’ΡΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚β€. ΠšΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. И ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². И ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ². Числа ΠΈ классы Ρ‚ΠΎΠΆΠ΅ Π½Π΅ совсСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, β€œΠ²ΡΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚β€ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ основой ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹.

Π§Ρ‚ΠΎ для ООП являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ? ΠŸΠΈΡ‚Π΅Ρ€ Π’Π΅Π³Π½Π΅Ρ€ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ основой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, классы ΠΈ наслСдованиС. Однако, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ язык программирования ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΡ… ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…. Ясно, Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° ООП.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡΡŽΡ‚, Ρ‡Ρ‚ΠΎ ООП β€” это Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ, Абстракция ΠΈ Π‘ΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€Π°Π²Π΄Π°, Ρ€Π°Π·Π½Ρ‹Π΅ источники скаТут Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ это всСго лишь Ρ€Π°Π·Π½Ρ‹Π΅ слова для описания ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅ΠΈ. А Π΄Ρ€ΡƒΠ³ΠΈΠ΅ скаТут, Ρ‡Ρ‚ΠΎ это Ρ‚Ρ€ΠΈ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ.

Π‘ сСрСдины 80-Ρ‹Ρ… ΠΎΠ± ООП гуляСт нСсколько ΠΌΠΈΡ„ΠΎΠ². Один ΠΈΠ· Π½ΠΈΡ…, ΠœΠΈΡ„ ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ использовании, гласит, Ρ‡Ρ‚ΠΎ ООП Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Π΅ΠΉ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ позволяСт Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всякий Ρ€Π°Π· ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ. Π”Ρ€ΡƒΠ³ΠΎΠΉ, ΠœΠΈΡ„ ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π°Π½Π°Π»ΠΈΠ·, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ рСализация ΠΏΠ»Π°Π²Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ ΠΈΠ· Π΄Ρ€ΡƒΠ³Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ всС ΠΎΠ½ΠΈ β€” ΡΡƒΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих ΠΌΠΈΡ„ΠΎΠ² Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠΎΠΉ ООП.

Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ программистскиС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ часто описываСтся ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ = Π΄Π°Π½Π½Ρ‹Π΅ + Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. ЛогичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ гласит: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ = Ρ„Π°ΠΊΡ‚Ρ‹ + ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎ всСй видимости, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ = Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ + Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π§Ρ‚ΠΎ Π½Π°Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΌΡ‹ΡΠ»ΡŒ, Ρ‡Ρ‚ΠΎ ООП ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ = ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ + сообщСния. Π’Π°ΠΊ Π»ΠΈ это? Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΡ‚ тСряСтся Π³Π»Π°Π²Π½ΠΎΠ΅. А Π³Π»Π°Π²Π½ΠΎΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ООП – это Π½Π΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ΅, логичСскоС ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ВмСсто этого ООП Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: β€œΠ΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ парадигму”. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ проСктирования Ρ‚Π°ΠΊΠΎΠ²Π°: β€œΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это модСлированиС”.

2. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки программирования

Π•Ρ‰Π΅ я Π½Π΅ люблю Ρ‚ΠΎ, ΠΊΠ°ΠΊ всСм нравится Π½Π΅ Π»ΡŽΠ±ΠΈΡ‚ΡŒ Ρ‡ΡƒΠΆΠΈΠ΅ языки. ΠœΡ‹ любим Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ ΠΌΠΈΡ€ Π½Π° Π»Π°Π³Π΅Ρ€ΠΈ: Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобочки ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ….

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈΡΡŒ ΠΎ Π½Π°ΡˆΠΈΡ… Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… ООЯП:

β€œΠ‘ΠΈ позволяСт Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΡΡ‚Ρ€Π΅Π»ΠΈΡ‚ΡŒ сСбС Π² Π½ΠΎΠ³Ρƒ; с C++ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ слоТнСС, Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ это Π΄Π΅Π»Π°Π΅Ρ‚Π΅, Π²Ρ‹ отстрСливаСтС сСбС Π½ΠΎΠ³Ρƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ.”

Π­Ρ‚ΠΎ сказал Π‘ΡŒΠ΅Ρ€Π½ Бтрауструп, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

β€œΠ― ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» Ρ‚Π΅Ρ€ΠΌΠΈΠ½ β€˜ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированный’, ΠΈ Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ я Π²Π°ΠΌ скаТу: я Π½Π΅ ΠΈΠΌΠ΅Π» Π² Π²ΠΈΠ΄Ρƒ C++.” β€” Алан КСй.

β€œΠ’ C++ всСго 2 Π²Π΅Ρ‰ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Π½Π΅ Ρ‚Π°ΠΊ: Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ замысСл ΠΈ рСализация.” β€” Π‘Π΅Ρ€Ρ‚Ρ€Π°Π½ ΠœΠ΅ΠΉΠ΅Ρ€

β€œΠ’Π½ΡƒΡ‚Ρ€ΠΈ Π‘++ сидит Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΈ понятный язык, отчаянно ΠΏΡ‹Ρ‚Π°ΡŽΡ‰ΠΈΠΉΡΡ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒΡΡ Π½Π°Ρ€ΡƒΠΆΡƒ.” β€” Π‘ΡŒΠ΅Ρ€Π½ Бтрауструп

β€œC++ β€” это история, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π°ΡΡΡ ΠΊΠ°ΠΊ трагСдия. Java β€” это история, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π°ΡΡΡ ΠΊΠ°ΠΊ фарс.” β€” Π‘ΠΊΠΎΡ‚Ρ‚ МакКСй

β€œJava, Π»ΡƒΡ‡ΡˆΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π·Π° SmallTalk послС C++.” β€” Ѐрэнк Π’ΠΈΠ½ΠΊΠ»Π΅Ρ€

β€œΠ•ΡΠ»ΠΈ Π±Ρ‹ Ρƒ Java Π±Ρ‹Π» настоящий сборщик мусора, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ удаляли Π±Ρ‹ сСбя Π²ΠΎ врСмя исполнСния.” β€” Π ΠΎΠ±Π΅Ρ€Ρ‚ Бьюэл

И, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²ΡΠ΅ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ³ΠΎΠ²ΠΎΡ€:

β€œΠ•ΡΡ‚ΡŒ всСго 2 Ρ‚ΠΈΠΏΠ° языков: Ρ‚Π΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всС ΠΆΠ°Π»ΡƒΡŽΡ‚ΡΡ ΠΈ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.” β€” Π‘ΡŒΠ΅Ρ€Π½ Бтрауструп

3. ΠšΠ»Π°ΡΡΡ‹

ΠšΠ»Π°ΡΡΡ‹ сводят мСня с ΡƒΠΌΠ°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ странным, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ.

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ классы β€” это ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Наш ΠΌΠΎΠ·Π³ прСвосходно классифицируСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ· ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΈΡ€Π°. И Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π²ΠΏΠΎΠ»Π½Π΅ СстСствСнно ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….

Однако Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ΠšΠ»Π°ΡΡΡ‹ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² нашСм сознании. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ привСсти Ρ…ΠΎΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°, Ρ‡Ρ‚ΠΎ класс β€” это Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ, физичСская ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ? НСт, Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ.

И Π²ΠΎΡ‚ Π² Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ языкС ΠΏΠΎΠ½ΡΡ‚ΡŒ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ слоТнСС, Ρ‡Π΅ΠΌ Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌ?

Π’ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ показываСт… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. ВсС Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈ просто, Ρ‚Π°ΠΊ вСдь?

Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎΡΡ‹Π»Π°ΡŽΡ‚ сообщСния Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ показываСт… классы, Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классы. Ой. ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π² ООП ΠΌΠ΅ΠΆΠ΄Ρƒ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ исполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ связи. Наши инструмСнты ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π½Π°ΠΌ: IDE вСдь ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ классы, Π° Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

Π― Π΄ΡƒΠΌΠ°ΡŽ, поэтому SmallTalk’Сры Ρ‚Π°ΠΊ Π»ΡŽΠ±ΡΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Π΅Π±Π°Π³Π³Π΅Ρ€Π΅: послСдний Π΄Π°Π΅Ρ‚ ΠΈΠΌ ΠΏΠΎΡ‡ΡƒΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ исполняСмыми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

Π’ΠΎΡ‚, Ρ‡Ρ‚ΠΎ я Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ инструмСнтов: поТалуйста, Π΄Π°ΠΉΡ‚Π΅ Π½Π°ΠΌ IDE, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ вмСсто классов!

4. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

ЧСстно говоря, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ я Ρ‚ΠΎΠΆΠ΅ Ρ‚Π΅Ρ€ΠΏΠ΅Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠ³Ρƒ.

Как ΠΌΡ‹ всС ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ ΠΈ изящными. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, понимания, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Π°ΠΊ Π² Ρ‡Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°?

ΠŸΡ€ΠΈΠΌΠ΅ΠΌ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΡ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΠΌ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ Π½Π° Π΅Π³ΠΎ написаниС. Π­Ρ‚ΠΎ ΠΈ называСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ часами ΠΏΠΈΡΠ°Ρ‚ΡŒ большоС количСство ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΌΡ‹ пишСм всСго лишь нСсколько строчСк, Π½ΠΎ ΠΏΡ€ΠΈ этом часами пытаСмся ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ строчки Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ!

Одна ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΠΌ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ приходится Π»ΠΈΡΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚ΡƒΠ΄Π°-ΡΡŽΠ΄Π°β€¦ Ρ‡Π΅Ρ€Π΅Π· мноТСство ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ извСстно ΠΊΠ°ΠΊ синдром ЗатСрянных Π² космосС ΠΈ ΠΎΠ± этом говорится со Π²Ρ€Π΅ΠΌΠ΅Π½ создания ООП. Цитируя АдСль Π“ΠΎΠ»Π΄Π±Π΅Ρ€Π³, β€œΠ’ SmallTalk всС происходит Π³Π΄Π΅-Ρ‚ΠΎ СщС”.

Π― ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ½ΠΈΡ‚ΡŒ Π² этом стоит сСгодняшниС ΠΊΠΎΠ΄ΠΎΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ IDE β€” учитывая, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π΄Π°Π΅Ρ‚ прСдставлСний ΠΎΠ± исполняСмом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, IDE встаСт Π½Π° нашСм ΠΏΡƒΡ‚ΠΈ вмСсто Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ. Другая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ SmallTalk’Сры Ρ‚Π°ΠΊ Π»ΡŽΠ±ΡΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Π΅Π±Π°Π³Π³Π΅Ρ€Π΅ β€” ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΊΠ°ΠΊΠΈΠΌΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, я Π΄ΡƒΠΌΠ°ΡŽ, сСгодня популярна Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· тСстированиС (test-driven development, TDD), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ взаимодСйствиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

И Π΄Π΅Π»ΠΎ Π½Π΅ Π² самом ООП β€” ΠΌΡ‹ просто Π΅Ρ‰Π΅ Π½Π΅ поняли (послС Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 40 Π»Π΅Ρ‚), ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π½Π΅Π³ΠΎ. ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒΡΡ вопросом: ΠΏΠΎΡ‡Π΅ΠΌΡƒ исходный ΠΊΠΎΠ΄ остаСтся ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² IDE?

Π― Ρ…ΠΎΡ‡Ρƒ IDE, которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΌΠ½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ исполняСмым ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. (Для получСния прСдставлСния ΠΎΠ± этой ΠΈΠ΄Π΅Π΅, заглянитС Π½Π° сайт ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Seaside, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ прямо с исполняСмого прилоТСния Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ исходный ΠΊΠΎΠ΄)

5. Π’ΠΈΠΏΡ‹

Π›Π°Π΄Π½ΠΎ, ΠΏΡ€ΠΈΠ·Π½Π°ΡŽ: я Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ² ΠΈ Π½Π΅Π½Π°Π²ΠΈΠΆΡƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ слова Π΄Π²Π°ΠΆΠ΄Ρ‹. Π’ΠΈΠΏΡ‹ ΠΆΠ΅ Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ мСня это Π΄Π΅Π»Π°Ρ‚ΡŒ.

ΠšΡ‚ΠΎ-Ρ‚ΠΎ сСйчас навСрняка ΠΏΠΎΠ΄ΡƒΠΌΠ°Π»: β€œΠΠΎ ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ‚Ρ‹ моТСшь ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° бСстиповом языкС. Π’Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡƒΠ΄Π΅ΡˆΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½.”

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, β€œΠ±Π΅ΡΡ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ…β€ языков Π½Π΅ сущСствуСт β€” ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ статичСски ΠΈ динамичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅. БтатичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ Π² этом Π½Π΅Ρ‚.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с самими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΌΡ‹ ΠΈΡ… Π·Π½Π°Π΅ΠΌ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ½ΠΈ Π΄Π°ΡŽΡ‚ приводят ΠΊ чувству Π»ΠΎΠΆΠ½ΠΎΠΉ бСзопасности. Π’ΠΎ, Ρ‡Ρ‚ΠΎ ваша Java ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° компилируСтся, Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ Π½Π΅Ρ‚ ошибок (ΠΈ Π΄Π°ΠΆΠ΅ ошибок с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ).

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ… ΠΈ Π²-Π³Π»Π°Π²Π½Ρ‹Ρ…, типизация ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΈΡ€ постоянСн, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π½Π΅ΠΌ состоят ΠΈΠ· Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹Ρ… частСй, Π° это Π½Π΅ Ρ‚Π°ΠΊ. Из-Π·Π° этого Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (особСнно рСфлСксивныС) становится слоТнСС ΠΏΠΈΡΠ°Ρ‚ΡŒ.

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

6. Π˜Π·ΠΌΠ΅Π½Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ

β€œΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Ρ‹ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½Ρ‹ β€” Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ΅Π»ΠΎΡ‡ΠΈ ΠΈΠ· Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°.” β€” Π ΠΎΠ±Π΅Ρ€Ρ‚ Π“Π°Π»Π°Π³Π΅Ρ€

ΠœΡ‹ всС Π½Π΅ любим ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, ΠΏΡ€Π°Π²Π΄Π°? А Ссли Ρ‚Π°ΠΊ, Ρ‚ΠΎ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ ТалуСмся, Ссли Π²Π΅Ρ‰ΠΈ Π½Π΅ становятся Π»ΡƒΡ‡ΡˆΠ΅? ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, ΠΈΠ»ΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ½ΠΈ ΡƒΡ…ΡƒΠ΄ΡˆΠ°ΡŽΡ‚ΡΡ.

(ΠœΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ, Π·Π½Π°Π΅Ρ‚Π΅, Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ ΠΈ софтом? Π–Π΅Π»Π΅Π·ΠΎ ΡƒΡ…ΡƒΠ΄ΡˆΠ°Π΅Ρ‚ΡΡ, Ссли Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ Π΅Π³ΠΎ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ состоянии.)

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

Наш ΠΌΠΈΡ€ нСпостоянСн, Π½ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ сСбя Π² Π½Π΅ΠΌ чувствуСм. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ β€” Π²ΠΎΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ позволяСт Π½Π°ΠΌ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π°ΠΌΠΈ. ΠœΡ‹ подстраиваСм нашС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, наши оТидания ΠΏΠΎΠ΄ контСкст, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находимся, Π½ΠΎ наши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π»ΠΎΠΌΠ°ΡŽΡ‚ΡΡ, Ссли контСкст мСняСтся.

Π― Ρ…ΠΎΡ‡Ρƒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ эту идСю Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языках ΠΈ IDE. Как исходный ΠΊΠΎΠ΄, Ρ‚Π°ΠΊ ΠΈ исполняСмоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉΡΡ контСкст. Π£Π²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования ΠΈ ΠΈΠ΄Π΅ΠΈ (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΡŒ ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимости) β€” всСго лишь костыли, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ исчСзнут послС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° контСкстов Π² ООЯП.

7. Π¨Π°Π±Π»ΠΎΠ½Ρ‹ проСктирования

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹. НС ΠΌΠΎΠ³Ρƒ с Π½ΠΈΠΌΠΈ, Π½Π΅ ΠΌΠΎΠ³Ρƒ Π±Π΅Π· Π½ΠΈΡ….

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ шаблон проСктирования Π΄Π΅Π»Π°Π΅Ρ‚ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Π΅Π΅.

Я всС сказал.

8. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ

β€œΠ’ΡΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ основаны Π½Π° страхС.” β€” ΠšΠ΅Π½Ρ‚ Бэк

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΌΠΎΠΈΡ… студСнтов Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎ Agile-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² стилС Π§Π°ΠΊΠ° Норриса:

β€œΠ§Π°ΠΊ Норрис Π½Π΅ занимаСтся ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ. ВсС получаСтся с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·.”

β€œΠ§Π°ΠΊ Норрис Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. Он смотрит Π² ΡƒΠΏΠΎΡ€ Π½Π° ΠΊΠΎΠ΄ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Ρ‚ΠΎΡ‚ Π½Π΅ скаТСт всС, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π·Π½Π°Ρ‚ΡŒ.”

9. UML

Π‘Π΅Ρ€Ρ‚Ρ€Π°Π½ ΠœΠ΅ΠΉΠ΅Ρ€ рассказываСт ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ удивляло, ΠΏΠΎΡ‡Π΅ΠΌΡƒ схСматичСскиС языки программирования всСгда Π±Ρ‹Π»ΠΈ Ρ‚Π°ΠΊΠΈΠΌΠΈ популярными, ΠΏΠΎΠΊΠ° ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ Π΅Π³ΠΎ Π½Π΅ осСнило: β€œΠŸΡƒΠ·Ρ‹Ρ€ΠΈ Π½Π΅ Π»ΠΎΠΌΠ°ΡŽΡ‚ΡΡ!”. (Π”Ρ€ΡƒΠ³ΠΎΠ΅ высказываниС, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅Π΅ ΠœΠ΅ΠΉΠ΅Ρ€Ρƒ: β€œAll you need is code”)

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ понимаСтся ΠΏΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚ΠΎΠΆΠ΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ: Π½Π΅ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ β€” модСль Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠΌ.

ΠœΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ, FORTRAN продавался ΠΊΠ°ΠΊ язык высокого уровня, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ гСнСрировался исходный ΠΊΠΎΠ΄. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ язык высокого уровня для нас ΠΈ Π΅ΡΡ‚ΡŒ исходный ΠΊΠΎΠ΄.

НадСюсь, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ повзрослССм, модСль Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

10. ΠžΡ‡Π΅Ρ€Π΅Π΄Π½Π°Ρ новая Π²Π΅Ρ‰ΡŒ

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, коронная Ρ„Ρ€Π°Π·Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я Π½Π΅Π½Π°Π²ΠΈΠΆΡƒ: β€œΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² нСдостаточно. НуТно Π΅Ρ‰Π΅…”. ВсС эти Π³ΠΎΠ΄Ρ‹ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, аспСкты, сСрвисы (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Π΅Ρ€Π½ΡƒΠ»ΠΈ нас ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ!)

Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π»ΠΎ достаточно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ ΠΎΠ½ΠΈ исправно слуТили Π½Π°ΠΌ всС эти Π³ΠΎΠ΄Ρ‹?

Π’Ρ‹Π²ΠΎΠ΄?

25 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ ΠΌΡ‹ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ β€œΠ½ΠΎΠ²Ρ‹ΠΉβ€ Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ ООП ΠΏΡ€ΠΎΠΆΠΈΠ²Π΅Ρ‚ ΡΡ‚ΠΎΠ»ΡŒ Π΄ΠΎΠ»Π³ΠΎ.
ΠœΡ‹ Π΄ΡƒΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ ОО-ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° ECOOP, OOPSLA ΠΏΡ€ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π»Π΅Ρ‚ 5, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ Π² мСйнстримС.

Но ΠΈ сСйчас слишком Ρ€Π°Π½ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ООП ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ мСйнстрима. А Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π½Π°ΡƒΡ‡Π½Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Π΅ исслСдования Π² области ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ΡΡ, подсказываСт, Ρ‡Ρ‚ΠΎ происходит Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅, Ρ‡Π΅Π³ΠΎ ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.

ООП позволяСт ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ слоТныС Π²Π΅Ρ‰ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π½ΠΎ ΠΌΡ‹ всС Π΅Ρ‰Π΅ Π½Π΅ ΠΎΠ²Π»Π°Π΄Π΅Π»ΠΈ этим, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠ»ΠΎΡ…ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅ΠΌ сущСствСнныС ΠΈ нСсущСствСнныС слоТности.

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° измСнчивости ΠΈ Π½Π° Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ООП ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ измСнчивости. Бпустя ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π»Π΅Ρ‚ ΠΌΡ‹ всС Π΅Ρ‰Π΅ находимся Π² самом Π½Π°Ρ‡Π°Π»Π΅, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ООП ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π½Π°ΠΌ.

Бпасибо Π·Π° ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅!

НСмного ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅
Oscar Nierstrasz β€” профСссор Computer Science Π² БСрнском унивСрситСтС, ΠΎΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Software Composition Group, которая исслСдуСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ систСмам Π±Ρ‹Ρ‚ΡŒ Π³ΠΈΠ±Ρ‡Π΅ ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΡΠΏΠΎΡΠ°Π±Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΌΡΡ условиям. (ΠΎΡ‚ΡΡŽΠ΄Π° понятно стрСмлСниС Π°Π²Ρ‚ΠΎΡ€Π° ΠΊ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² измСнчивости Π² ЯП)

Активный участник ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ООП-сообщСства, участник ΠΈ ΠΏΡ€Π΅Π΄ΡΠ΅Π΄Π°Ρ‚Π΅Π»ΡŒ Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ, ΠΊΠ°ΠΊ ECOOP, ESEC ΠΈ MODELS. (Данная ΡΡ‚Π°Ρ‚ΡŒΡ β€” ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ€Π΅Ρ‡ΡŒ Oscar’Π° Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ ECOOP 2010). Π’Π°ΠΊΠΆΠ΅ Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ The Journal of Object Technology.

Π‘ΠΎΠ°Π²Ρ‚ΠΎΡ€ Π±ΠΎΠ»Π΅Π΅ 200 ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ ΠΈ 2 ΠΊΠ½ΠΈΠ³: Object-Oriented Reengineering Patterns ΠΈ Pharo by Example. (ΠΎΠ±Π΅ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, Π½Π΅ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° русский, Π·Π°Ρ‚ΠΎ бСсплатны ΠΈ доступны для скачивания ΠΏΠΎ ссылкам)

ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ ООП Π½Π΅ сущСствуСт ΠΈΠ»ΠΈ «Π‘вободная касса!»

Π­ΠΏΠΎΡ‚Π°ΠΆΠ½Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ? Однако Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся.

БущСствуСт Π»ΠΈ Ρ‚Π΅ΠΌΠ½ΠΎΡ‚Π°? НС Ρ‚ΠΎΡ€ΠΎΠΏΠΈΡ‚Π΅ΡΡŒ. На самом Π΄Π΅Π»Π΅ Π½Π΅Ρ‚: это просто отсутствиС свСта. Π•Ρ‘ нСльзя ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ, нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, нСльзя Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ с Π½Π΅ΠΉ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Π•Ρ‘ Π½Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°. Если Ρ‚Π΅ΠΌΠ½ΠΎΡ‚Π° «Π½Π΅ΠΏΠΎΠ»Π½Π°Ρ», Ρ‚ΠΎ это ΡƒΠΆΠ΅ Π½Π΅ Ρ‚Π΅ΠΌΠ½ΠΎΡ‚Π°, Π° слабая ΠΎΡΠ²Π΅Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ. ΠžΡΠ²Π΅Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ Π² Π»ΡŽΠΊΡΠ°Ρ…, Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния Ρ‚Π΅ΠΌΠ½ΠΎΡ‚Ρ‹ Π½Π΅Ρ‚ ΠΈ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚.

Она сущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² нашСм Π²ΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° ООП.Β 

Π’Ρ‹ скаТитС, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ΅. А Π²ΠΎΡ‚ ΠΈ Π½Π΅Ρ‚. Π£ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΅ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ опрСдСлСния ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ. Π£ ООП ΠΈΡ… Π½Π΅Ρ‚.

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Π°Ρ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° (Π΅Ρ‘ Ρ‚Π°ΠΊ принято Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΈ, Π² PHP практичСски всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΅Ρ‘ модификация — структурноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅). ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΅Ρ‘ нСдвусмыслСнно Π΄Π°ΠΆΠ΅ Π² банальной Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ:

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ языкС, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ выполняСмыС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ цСлостныС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΊΠΎΠ΄Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² самого языка

НуТно ΠΎΡ‚Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ΅, Ρ‚Π° ΠΆΠ΅ википСдия Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ ООП Π½Π΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠΎΠΉ, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ. Но ΡΡƒΡ‚ΡŒ собствСнно Π½Π΅ Π² этом, Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½Π° самом Π΄Π΅Π»Π΅ ООП.

Π”Π°Π²Π°ΠΉΡ‚Π΅ прСдставим сСбС ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΡƒΡ‚ΠΎΠΉ ООПэшник устраиваСтся Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ собСсСдованиС. А Ρ‚Π°ΠΌ Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Π½ΡƒΠ΄Π°-ΠΎΡ‡ΠΊΠ°Ρ€ΠΈΠΊ Π² качСствС ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽΠ΅Ρ€Π°:

— Вы написали Π² Ρ€Π΅Π·ΡŽΠΌΠ΅, Ρ‡Ρ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅ ООП. Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½ΠΎ?
— Π”Π°, разумССтся.
— РасскаТитС, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ООП ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°.
— Ну это ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования, основанная на классах ΠΈ…
— Π‘Ρ‚ΠΎΠΏ. Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ООП ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ классы? А ΠΊΠ°ΠΊ ΠΆΠ΅ JavaScript? Π’Π°ΠΌ Π½Π΅Ρ‚ классов, Π° ООП Π΅ΡΡ‚ΡŒ.
— Ммм, Π°, Π½Ρƒ Π΄Π°. НС Π½Π° классах, Π° Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΈ ΠΈΡ… взаимодСйствиях.
— Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами Π’Ρ‹ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° содСрТит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚ΠΎ это ООП?
— НСт, Π½Π΅ просто содСрТит. А состоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ООП, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Аланом КССм, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Π΅Π³ΠΎ ΠΎΡ‚Ρ†ΠΎΠΌ-ΠΏΡ€ΠΎΡ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ, гласит:
Всё являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ.

— Π’ΠΎ Π΅ΡΡ‚ΡŒ Π’Ρ‹ считаСтС, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ООП Π½ΠΈΡ‡Π΅Π³ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚. Но ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ? Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр? Π’Π΅Π΄ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ new, это процСдурная Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°.
— Ну… Π”Π°.Β 
— А Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΡ€Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (instanceof ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ), Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² ООП?
— ΠœΠΎΠ³ΡƒΡ‚, ΠΊΠ°ΠΊ ΠΆΠ΅ Π±Π΅Π· Π½ΠΈΡ….Β 
— Но ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° постулат «Π²ΡΡ‘ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ»?
— Π£Ρ‚ΠΎΡ‡Π½ΠΈΠΌ:
ВсС Π΄ΠΎΠ»ΠΆΠ½ΠΎ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ конструкций.

— А сам класс являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ?
— НСт. Π­Ρ‚ΠΎ абстрактный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.
— Но ΠΎΠ½ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ΅?

— Π”Π°, разумССтся. Как каркас для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
— А статичСский класс PHP ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ООП?
— НСт. Π’Π΅Π΄ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΡ‹ Π½Π΅ создаСм.
— А ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Singleton? Или Registry?
— Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΉΡ‚Π΅, Π²Π½ΡƒΡ‚Ρ€ΠΈ языка всС Ρ€Π°Π²Π½ΠΎ создаСтся Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.
— Но вСдь ссылки Π½Π° Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ ΠΈ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ, ΠΊΠ°ΠΊ с ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Π‘Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π—Π½Π°Ρ‡ΠΈΡ‚ это Π½Π΅ совсСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚?
— Π”Π°, Π½Π΅ совсСм. Π’ΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ:
Всё Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², конструкций ΠΈ классов.

— Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, написанная Π½Π° ΠΎΠ΄Π½ΠΈΡ… статичСских классах находится Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ООП ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹?
— НСт ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Класс-ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ πŸ™‚
— Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ООП ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°? Если Ρ‚Π°ΠΌ 10 статичСских классов ΠΈ ΠΎΠ΄ΠΈΠ½ динамичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, это ООП?
— НС Π΄ΡƒΠΌΠ°ΡŽ…
— А сколько? Каково ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½ΠΎΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ допустимо, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ?
— НС знаю. Π­Ρ‚ΠΎ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.

— ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π° сколько ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ — Π½Π΅ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ. БоотвСтствСнно ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:
ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ классы.

— НС Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ это слабый ΠΈ расплывчатый Β Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ для опрСдСлСния ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ? И ΠΎΡ‡Π΅Π½ΡŒ сильно Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅?
— Π”Π°… Π½ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ условия. Π’Ρ€ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° — ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, наслСдованиС ΠΈ инкапсуляция!
— Π₯ΠΎΡ€ΠΎΡˆΠΎ. Π—Π½Π°Ρ‡ΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ?
ООП ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, конструкции ΠΈ сатичСскиС классы. И ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, наслСдованиС ΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΡŽ.

— НС совсСм. НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π° Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚.
— Π—Π½Π°Ρ‡ΠΈΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚? Π­Ρ‚ΠΎ чисто ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ООП?
— Π­ΠΌΠΌΠΌ… ΠœΠΎΠ³ΡƒΡ‚. Но Π΅ΡΡ‚ΡŒ ΠΆΠ΅ Π΅Ρ‰Π΅ абстракция.
— Π—Π½Π°Ρ‡ΠΈΡ‚ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ эксклюзивной ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΈΡˆΠΊΠΎΠΉ?
— Π’Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ Ρ‚ΠΎΠΆΠ΅ Π½Π΅Ρ‚. НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ. Π”Π° ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅.
— Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ³Π΄Π° ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ООП ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ? Π’Π°ΠΊ:
ООП ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, конструкции ΠΈ сатичСскиС классы. А Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, наслСдованиС, ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΡŽ ΠΈ абстракции.

— Π§Ρ‚ΠΎ ΠΆΠ΅ измСнилось?
— ΠŸΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ. Но постойтС, Π΄Π΅Π»ΠΎ скорСС всСго Π² состоянии. ООП ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ вычислСний Π½Π° основС сохранСния состояний ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².Β 
— Π’ΠΎΡ‚. Π‘ этого мСста ΠΏΠΎΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.
— Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ своС состояниС (значСния свойств). И Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний ΠΌΠΎΠΆΠ½ΠΎ «Π·Π°ΠΌΠΎΡ€Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ», Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Ρ…ΠΎΠ΄Π΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
— Π§Π΅ΠΌ это отличаСтся ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² глобальной области видимости ΠΈΠ»ΠΈ ΠΎΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ static?Β 
— Π’Π΅ΠΌ, Ρ‡Ρ‚ΠΎ это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.
— Но ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ΅. Π’Π΅Π΄ΡŒ ΠΎΠ½ΠΈ появились Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ООП. Π—Π½Π°Ρ‡ΠΈΡ‚ здСсь Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ условиС:
ООП ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, конструкции ΠΈ сатичСскиС классы. А Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, наслСдованиС, ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΡŽ ΠΈ абстракции. Но ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° протяТСнии выполнСния.

— НС получаСтся… Π’ ООП ΠΊΡ€ΠΎΠΌΠ΅ понятия stateful Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΈΒ stateless. МодСль stateful ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² контСкстС Π΅Π³ΠΎ состояния. Π’ stateless ΠΎΠ±Ρ‰Π΅Π³ΠΎ контСкста ΠΈ состояния вовсС Π½Π΅Ρ‚. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, сборники нСзависимых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
— Но Ссли сохранСниС состояния Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°ΠΌ «Π½Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚ΠΎ Π² Ρ‡Π΅ΠΌ соль? Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΡƒ:
ООП ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, конструкции ΠΈ сатичСскиС классы. ΠœΠΎΠΆΠ΅Ρ‚ Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, наслСдованиС, ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΡŽ ΠΈ абстракции. А Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° протяТСнии выполнСния.

— Π­Ρ‚ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. ΠŸΠΎΡ…ΠΎΠΆΠ΅ это Π½Π° ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ?
— НС особо.
— Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ?

— ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Π΅Π³ΠΎ ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚. Или Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎ.

— Π§Ρ‚ΠΎ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ?

— МоТно я ΠΏΠΎΠΉΠ΄Ρƒ… ВсСго Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ.

Π’ΠΎΠΎΠ±Ρ‰Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° сущСствуСт. Π•Ρ‘ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΈ анонсировал Алан КСй Π² Π»ΠΎΡ…ΠΌΠ°Ρ‚ΠΎΠΌ 1972Β Π³ΠΎΠ΄Ρƒ.  Но Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½Π° сущСствуСт для чисто ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… языков. Π’Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊΒ Smalltalk, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½Π° ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ. Π—Π²ΡƒΡ‡ΠΈΡ‚ ΠΎΠ½Π° Ρ‚Π°ΠΊ:

  1. Всё являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ.
  2. ВычислСния ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Ρ‘ΠΌ взаимодСйствия (ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ) ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ дСйствиС. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚, посылая ΠΈ получая сообщСния. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Β β€” это запрос Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ дСйствия, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ дСйствия.
  3. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, которая состоит ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
  4. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся прСдставитСлСм класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа ΠΈΠ»ΠΈ списки).
  5. Π’ классС задаётся ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’Π΅ΠΌ самым всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ экзСмплярами ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса, ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ дСйствия.
  6. ΠšΠ»Π°ΡΡΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡƒΡŽ структуру с ΠΎΠ±Ρ‰ΠΈΠΌ ΠΊΠΎΡ€Π½Π΅ΠΌ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ наслСдования. ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, связанноС с экзСмплярами ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ класса, автоматичСски доступны Π»ΡŽΠ±ΠΎΠΌΡƒ классу, располоТСнному Π½ΠΈΠΆΠ΅ Π² иСрархичСском Π΄Π΅Ρ€Π΅Π²Π΅.

Но всС Π΄Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ООП ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡƒΡˆΠ»ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π² сторону ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΄Π΅ΠΉ. Π’Β Smalltalk Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ всё являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Π’ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, логичСскиС Π±Π»ΠΎΠΊΠΈ ΠΈ Π΄Π°ΠΆΠ΅ сами классы. И Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° этом языкС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΎΠ±ΠΌΠ΅Π½Π΅ сообщСниями ΠΌΠ΅ΠΆΠ΄Ρƒ этими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Π½Π΅ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ТСстко прописано наслСдованиС.Β Smalltalk начинаСтся с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡƒΠΏΠ΅Ρ€Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Object, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΊΠΎΡ€Π½Π΅ΠΌ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Π‘ΠΌΠΎΠ»Ρ‚ΠΎΠ»ΠΊ Π½Π΅ просто ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ наслСдования. Она Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡ… Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π§Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ (Ссли Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ) Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° этом языкС.

Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ соврСмСнныС языки с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ООП, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°Π»ΡŒΠ½Ρ‹. Π’ Π½ΠΈΡ… мСтодология (Π½Π΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°) ООП сводится ΠΊ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ слСТСния Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ программисты использовали ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС «Π½Π΅ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ…» возмоТностСй языка. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Ρ€Π°Π·Π½Ρ‹Π΅ подсообщСства ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ эти Ρ€Π°ΠΌΠΊΠΈ сами для сСбя. ΠšΡ‚ΠΎ-Ρ‚ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования статики, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΡ‚ stateless, считая Π΅Π³ΠΎ Π·Π°ΠΊΠ°ΠΌΡƒΡ„Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΊΠΎΠΉ, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ нСдопускаСт ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… свойств, ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡΡΡŒ строгой инкапсуляции, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ это ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ бСсполСзным ΠΈ Π΄Π°ΠΆΠ΅ Π²Ρ€Π΅Π΄Π½Ρ‹ΠΌ занятиСм, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.Β 

Π’ этих Ρ€Π°ΠΌΠΊΠ°Ρ… довольно тСсно ΠΈ Π½Π΅ особо ΡƒΡŽΡ‚Π½ΠΎ. Для обСспСчСния Ρ…ΠΎΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π° Π°Π΄Π΅ΠΏΡ‚Π°ΠΌΠΈ ООП ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°ΡŽΡ‚ΡΡ всСвозмоТныС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹, ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΎΠΆΠ΅ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΠΎΡΠΏΠ°Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ подсообщСствами. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ мнСния, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ ООП. А этого мнСния ΠΈ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ соврСмСнная ООП ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈ опрСдСлСния, Π½ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΈΡ… Π³Ρ€Π°Π½ΠΈΡ†.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ООП, это конструктор Π›Π•Π“Πž. На Π·Π°Ρ€Π΅ Π΅Π³ΠΎ изобрСтСния использовались Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… взаимозамСняСмых Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚Ρ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… конструкциях. На Ρ‚ΠΎ ΠΎΠ½ ΠΈ конструктор. БСйчас конструктор потСрял ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ, добавилась ΠΊΡƒΡ‡Π° Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π΅. Допустим колСса ΠΊ машинкам. Они Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±Π»ΠΎΠΊΠΈ ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Ρ‹ для постройки Π΄ΠΎΠΌΠ°. Если ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² Π² Π»Π΅Π³ΠΎ с программистами, Ρ‚ΠΎ Π°Π΄Π΅ΠΏΡ‚Ρ‹ «Ρ‡ΠΈΡΡ‚ΠΎΠ³ΠΎ» ООП норовят ΠΈ эти колСса ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ², считая ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ‡ΡƒΠΆΠ΄Ρ‹ΠΌΠΈ ΠΈ называя «Π³ΠΎΠ²Π½ΠΎΠΊΠΎΠ΄ΠΎΠΌ».

ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΈ ΠΈΠ· Π½ΠΈΡ… ΠΎΡ‚Ρ€ΠΈΡ†Π°ΡŽΡ‚ колСса для машин, Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π΄Π²Π΅Ρ€Π΅ΠΉ ΠΈ ΠΎΠΊΠΎΠ½ для Π΄ΠΎΠΌΠΎΠ². Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΆΠ΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

И Π΅Ρ‰Π΅, Ρ€Π°Π±ΠΎΡ‚Π° Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, которая строго придСрТиваСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ ООП, Π»ΠΈΡ‡Π½ΠΎ ΠΌΠ½Π΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²Β McDonald’s, Π° само ООП — фастфуд.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΡ… прописанных ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ. И McDonald’s, ΠΈ KFC, ΠΈ Π΄Π°ΠΆΠ΅ Π±Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»Π°Ρ€Π΅ΠΊ с ΡˆΠ°Π²Π΅Ρ€ΠΌΠΎΠΉ находятся Π² ΠΏΠΎΠ»Π΅ этой ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹. НСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… особых ΠΏΡ€Π°Π²ΠΈΠ», ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΈΡ… ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ. Быстро, ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ, с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ ассортимСнтом. Π’Π΅Π΄ΡŒ Π΄ΡƒΡ…ΠΎΠ²ΠΊΠ° дСшСвлС, Ρ‡Π΅ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΠΎΠ²Π°Ρ€.Β 

ΠžΡ‡Π΅Π½ΡŒ высокая Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ мСню, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π³Π°ΠΌΠ±ΡƒΡ€Π³Π΅Ρ€, ΠΎΠ½ ΠΈ Π² АфрикС Π³Π°ΠΌΠ±ΡƒΡ€Π³Π΅Ρ€, ΠΏΡƒΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΈΠ· мяса ΠΆΠΈΡ€Π°Ρ„Π°.

ΠžΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ рСфакторится, достаточно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π° Π±ΡƒΠ»ΠΎΡ‡ΠΊΡƒ ΠΊΡƒΠ½ΠΆΡƒΡ‚, ΠΈ Π²ΠΎΡ‚ ΡƒΠΆΠ΅ Π½ΠΎΠ²ΠΎΠ΅ блюдо.

Π›Π΅Π³ΠΊΠΎ тСстируСтся, вСдь Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ дСгустаторов, достаточно ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с эталонным Ρ‡ΠΈΠ·Π±ΡƒΡ€Π³Π΅Ρ€ΠΎΠΌ ΠΈΠ»ΠΈ Π±ΠΈΠ³ΠΌΠ°ΠΊΠΎΠΌ.

Π’ΠΎΡ‚ ΠΆΠ΅ ΠΏΠΈΠ°Ρ€, Ρ‚ΠΎ ΠΆΠ΅ ΠΏΠΎΠ²cСмСстноС распространСниС, Ρ‚Π° ΠΆΠ΅ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π½Π΅ΠΏΡ€Π΅Ρ‚ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ пСрсонала.

Π’Π° ΠΆΠ΅ ΠΈΠ·ΠΆΠΎΠ³Π°, гастрит ΠΈ ΠΎΠΆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρƒ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ (низкая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ). И Ρ‚Π΅ ΠΆΠ΅ восторТСнныС возгласы Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ успСл ΠΏΠ»ΠΎΡ‚Π½ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΡ‚ΡŒ.

И Ρ‚ΠΎΡ‚ ΠΆΠ΅ «ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π΄ΡƒΡ…». НС ΠΏΡ€ΠΈΠ²Π΅Π΄ΠΈ Господи ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ°ΠΌ Макдональдса, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ травят насСлСниС. Π’Ρ‹ Ρ‡Ρ‚ΠΎ! Они Π΄Π²ΠΈΠ³Π°ΡŽΡ‚ прогрСсс, экономя врСмя людСй Π½Π° Π΅Π΄Π΅. А ΠΊΡ‚ΠΎ Π½Π΅ согласСн — ΠΏΡƒΡΡ‚ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΆΡ€Π°Ρ‚ΡŒ свою Π³ΠΎΠ²Π½ΠΎ-яичницу с Π±Π΅ΠΊΠΎΠ½ΠΎΠΌ ΠΈ Π³ΠΎΠ²Π½ΠΎ-Π±ΠΎΡ€Ρ‰. А ΠΊΠΎΠΌΡƒ Π²ΠΎΠΎΠ±Ρ‰Π΅ нСймСтся, ΠΏΡƒΡΡ‚ΡŒ ΠΈΠ΄Π΅Ρ‚ Π² рСсторан ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ€Π΅Ρ†Π΅ΠΏΡ‚Π΅ Π³ΠΎΠ²Π½ΠΎ-супа Π’ΠΎΠΌ Π―ΠΌ.

Π’Π°ΠΊ Π²ΠΎΡ‚. Если Π²Ρ‹ считаСтС, Ρ‡Ρ‚ΠΎ достигли Π²Π΅Ρ€ΡˆΠΈΠ½ программирования, свято ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡΡΡŒ этих ΠΏΡ€Π°Π²ΠΈΠ», ΠΎΠ³Π»ΡΠ½ΠΈΡ‚Π΅ΡΡŒ ΠΈ посмотритС Π²ΠΎΠΊΡƒΠ³ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Π΅ΡΡŒΠΌΠ° вСроятно ваш ΡƒΠ΄Π΅Π» всСго навсСго ΠΊΡ€ΠΈΡ‡Π°Ρ‚ΡŒ «Π‘вободная касса!» На просторах я нашСл ΠΎΠ΄Π½ΠΎ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ООП (Π½Π΅ знаю Π°Π²Ρ‚ΠΎΡ€Π°):

ООП Π΅ΡΡ‚ΡŒ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠ°Π½Π΄Π°Π»Ρ‹, срСдство Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ часто ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π±Π΅Π·Π³Ρ€Π°ΠΌΠΎΡ‚Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π΅Ρ€ΠΎΠ²Β Π² упряТкС, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈ всСго. Если люди Π±ΠΎΠ»Π΅Π΅ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ качСства, ΠΊΠ°Π½Π΄Π°Π»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡΠ½ΡΡ‚ΡŒ.

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Ρ„Ρ€Π°Π·ΠΈΡ€ΠΎΠ²Π°Π» Пола Грэма:

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

Π― вовсС Π½Π΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ ООП ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΌΠΎΠ³Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ. И Ρ‚ΠΎΠΆΠ΅ Π½Π΅Ρ‚-Π½Π΅Ρ‚, Π΄Π° ΠΈ ΡΠΊΡƒΡˆΠ°ΡŽ Π³Π°ΠΌΠ±ΡƒΡ€Π³Π΅Ρ€ с ΠΊΠΎΠ»ΠΎΠΉ. Π›ΡŽΠ±Π°Ρ Π»ΠΎΠΆΠΊΠ° Ρ…ΠΎΡ€ΠΎΡˆΠ° ΠΊ своСму ΠΎΠ±Π΅Π΄Ρƒ). Но Π·Π°Π³ΠΎΠ½ΡΡ‚ΡŒ сСбя Π² искуствСнныС Ρ€Π°ΠΌΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ этом приходится самому для сСбя ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ — ΡƒΠ²ΠΎΠ»ΡŒΡ‚Π΅. Π£ соврСмСнных языков программирования Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ возмоТности, Ρ‡Ρ‚ΠΎ это Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°ΡΡ‚ΠΎΡ‡ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ.

Π’Π°ΠΊΠΈΠ΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Π΅ мэтры, ΠΊΠ°ΠΊ Пол Грэм, Π ΠΈΡ‡Π°Ρ€Π΄ Π“Π°Π±Ρ€ΠΈΠ΅Π»,Β Π‘ΡŒΡ‘Ρ€Π½Β Π‘Ρ‚Ρ€Π°ΡƒΡΡ‚Ρ€ΡƒΠΏ, Π ΠΈΡ‡Π°Ρ€Π΄ ΠœΡΡ‚Ρ‚ΡŒΡŽ Π‘Ρ‚ΠΎΠ»Π»ΠΌΠ°Π½, наш соотСчСствСнник АлСксандр Π‘Ρ‚Π΅ΠΏΠ°Π½ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒ сСбя Π°Π΄Π΅ΠΏΡ‚Π°ΠΌΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹. ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ посмССт Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΈΡ… Π³ΠΎΠ²Π½ΠΎΠΊΠΎΠ΄Π΅Ρ€Π°ΠΌΠΈ? πŸ™‚

Π’ написани ΡΡ‚Π°Ρ‚ΡŒΠΈ использовались ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹:

Objects Have FailedΒ (ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ»ΠΈΡΡŒ)
Why OO Sucks (Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ πŸ™‚ )
OOP Is Much Better in Theory Than in Practice (ООП Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ, Ρ‡Π΅ΠΌ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅)
Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования
Π―Π·Ρ‹ΠΊΠΈ программирования Ρ‡Π΅Ρ€Π΅Π· сто Π»Π΅Ρ‚
Я нС знаю ООП

ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, всСго Π½Π΅ ΡƒΠΏΠΎΠΌΠ½ΠΈΡˆΡŒ.

Ну ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ наш Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ Ρ„ΠΎΡ€ΡƒΠΌ.

Николай aka twin

ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования

БСгодня ΠΌΡ‹ разбСрСмся Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования ΠΈ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΈΠ΄Π΅ΠΉ ΠΈ понятий ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΡΡ‚ΠΈΠ»ΡŒ написания ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Β Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ Π±Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π½ΠΎ ΠΈ Π² философии ΠΈ Ρ‚.Π΄.

ΠžΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡΡΡŒ ΠΎΡ‚ опрСдСлСния ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² для написания ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ΠΈΠ΄Ρ‹ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ программирования

Π’Π°ΠΊ ΡƒΠΆ слоТилось Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ программисты ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π»ΠΈ свои ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, ΠΏΡƒΡ‚ΠΈ написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ ΠΊΠ°ΠΊ слСдствиС Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ большоС количСство ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ.

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ самыС популярныС ΠΈΠ· Π½ΠΈΡ…:

  • Π˜ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
  • Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
  • ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

 На самом Π΄Π΅Π»Π΅, Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π½Π΅ пСрСчислили Π² спискС, ΠΌΡ‹ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ лишь самыС извСстныС ΠΈΠ· Π½ΠΈΡ….

ΠšΡ€Π°Ρ‚ΠΊΠΎ рассмотрим ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· Π½ΠΈΡ…

Π˜ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Бамая пСрвая ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°, которая ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»Π°ΡΡŒ сразу ΠΆΠ΅ послС появлСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ².

Β ΠΎΡ‚ английского imperativeΒ β€” ΠΏΡ€ΠΈΠΊΠ°Π·

ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ программирования:

Π² исходном ΠΊΠΎΠ΄Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Β«ΠΏΡ€ΠΈΠΊΠ°Π·Ρ‹Β» ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π° Π½Π΅ классы, ΠΊΠ°ΠΊ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования.

ВсС инструкции Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΡΠΊΠ°ΠΊΠΈΠ²Π°Ρ‚ΡŒ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ участка ΠΊΠΎΠ΄Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ)

ПослС выполнСния инструкций Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ памяти.

Π―Π·Ρ‹ΠΊΠΈ прСдставитСли ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹: ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ (Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅) ΠΊΠΎΠ΄Ρ‹,Β  АссамблСр, fortran, algol, cobol

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Β ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» этот ΠΌΠ΅Ρ‚ΠΎΠ΄ нидСрландский ΡƒΡ‡Π΅Π½Ρ‹ΠΉ

ЭдсгСр ДСйкстра 1930 β€” 2002Π³

А Π²ΠΎΡ‚ основным Π² структурном ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ являСтся понятиС Π±Π»ΠΎΠΊΠΎΠ² ΠΈ иСрархичСской структуры ΠΈ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ основных ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… структур:

  • ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
  • Ρ†ΠΈΠΊΠ»
  • Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ 7 ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², описанный ДСйкстрой:

  1. ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ°Π· использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° goto; *
  2. любая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ Π½Π° Ρ‚Ρ€Π΅Ρ… ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… структурах ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ†ΠΈΠΊΠ» ΠΈ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅;
  3. Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ;
  4. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;
  5. каТдая логичСская структура слСдуСт ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π±Π»ΠΎΠΊ;
  6. всС структуры Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π²Ρ…ΠΎΠ΄ ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄, ΠΈ Π½Π΅ Π±ΠΎΠ»Π΅Π΅;
  7. Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ΄Ρ‚ΠΈ пошагово «лСстницСй» (ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ свСрху Π²Π½ΠΈΠ·)

* β€”Β Β goto β€” ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ бСзусловного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΎ использовался Π² 1970-Ρ…

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°? Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡˆΡƒ Π»Π΅ΠΊΡ†ΠΈΡŽ систСмы счислСния

Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

прСдставляСт собой ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈ описываСт Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ΠŸΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ΡΡ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ описываСтся Ρ‡Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ООП)

являСтся самым популярном ΠΈ ΠΎΠ±Ρ‰Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠΎΠΉΒ  принятой Π²ΠΎ всСм ΠΌΠΈΡ€Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ всСми  программистами. Всё ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ построСно Π½Π° этом. Основная идСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ прСдставляСт экзСмпляром класса, Π° классы Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ наслСдования.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия ООП

Абстракция Π΄Π°Π½Π½Ρ‹Ρ… β€” Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΅Ρ‘ ΠΎΡ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΠΌΠΎΠΉ.

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ β€” это Ρ‚Π°ΠΊΠΎΠ΅ свойство ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² классС

НаслСдованиС β€” свойство ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ класс Π½Π° основС старого (ΡƒΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ всС Π΅Π³ΠΎ свойства)

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ β€” Π° это свойство позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с  ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ интСрфСйсом

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Β  β€” ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π² адрСсном пространствС ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΏΡ€ΠΈ создании экзСмпляра класса

Класс β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… состоящий ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ (Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (ΠΊΠ°ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ)

Бписок Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΠ»Π³ΠΎ, Π½ΠΎ ΠΌΡ‹ рассмотрСли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыС основныС ΠΈΠ· Π½ΠΈΡ….

Π’Π°ΠΊΠΆΠ΅ эта лСкция доступна Π² Π²ΠΈΠ΄Π΅ΠΎΡ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ вопросы ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π² коммСнтариях.

4.2 / 5 ( 5 голосов )


Помогая ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ BEST-EXAM, Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ доступным для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, внСситС ΠΈ Π²Ρ‹ свой Π²ΠΊΠ»Π°Π΄ —
ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях!

ИспользованиС Ρ†ΠΈΠΊΠ»Π° — Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°

Помимо шаблона элСмСнта, сущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ инструмСнт для запроса Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΈΡ… размСщСния Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ инструмСнтом Ρ†ΠΈΠΊΠ»Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ инструмСнту Loop Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Element Template Pane .

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Β«Π¦ΠΈΠΊΠ»Β» ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ элСмСнт элСмСнта, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π² Diagram Navigator / Model Explorer . Когда Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΠΈ пСрСтаскиваСтС инструмСнт Β«Π¦ΠΈΠΊΠ»Β» Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, пСрСчислСнныС Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Elements , ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ элСмСнтами элСмСнта, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π² Diagram Navigator / Model Explorer .НапримСр, Ссли Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ элСмСнты Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄ΡƒΡ‚ пСрСчислСны здСсь.

ΠšΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· пСрСчислСнных элСмСнтов. Π‘ΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ опрСдСляСтся шаблоном элСмСнта. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ шаблон Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Element Types .

Π’ Π»Π΅Π²ΠΎΠΉ части Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Element Types пСрСчислСны Ρ‚ΠΈΠΏΡ‹ элСмСнтов, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠΌ, Π° Π² ΠΏΡ€Π°Π²ΠΎΠΉ части — шаблон элСмСнта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ для создания ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для всСх Ρ‚ΠΈΠΏΠΎΠ² элСмСнтов Π²Ρ‹Π±Ρ€Π°Π½ шаблон Basic . Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· элСмСнтов Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Elements ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ создан ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π½Π° основС шаблона Basic . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ шаблон, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Basic ΠΈ сдСлав Π²Ρ‹Π±ΠΎΡ€.

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ элСмСнтов ΠΈ Ρ‚ΠΈΠΏΠΎΠ² элСмСнтов

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

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏ элСмСнта. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ элСмСнт, Π½Π°Π²Π΅Π΄ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π½Π° этот элСмСнт ΠΏΠΎΠ΄ Π²ΠΊΠ»Π°Π΄ΠΊΠΎΠΉ Elements ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Exclude справа ΠΎΡ‚ Π½Π°Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ряда.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ элСмСнта, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Element Types ΠΈ Π½Π°Π²Π΅Π΄ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π½Π° Ρ‚ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Exclude .

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏ элСмСнта ΠΈΠ· списка ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Excluded , Π½Π°Π²Π΅Π΄ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π½Π° элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Include справа ΠΎΡ‚ Π½Π°Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ курсора. ряд.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок элСмСнтов, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню Sorting Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° New Loop ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ способ сортировки.

Π’ΠΎΡ‚ описаниС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° сортировки:

Вип ОписаниС
БистСма Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ отсортированы Π² соотвСтствии с настройками систСмы ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
Имя Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ названию элСмСнтов Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС.
МодСль Π’ΠΈΠΏ Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ элСмСнта. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ порядок сортировки Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’ΠΈΠΏΡ‹ элСмСнтов».
Руководство Π—Π°ΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ элСмСнты ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ шаблона Ρ†ΠΈΠΊΠ»Π°

Π₯отя Ρ†ΠΈΠΊΠ» сам ΠΏΠΎ сСбС являСтся инструмСнтом, Π° Π½Π΅ шаблоном, ΠΈΠ· Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ шаблон. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ шаблон, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π² Ρ†ΠΈΠΊΠ» Π² Ρ„ΠΎΡ€ΠΌΠ΅ XML.Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ шаблон Ρ†ΠΈΠΊΠ»Π°, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ любой Π±Π»ΠΎΠΊ содСрТимого, созданный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнта Β«Π¦ΠΈΠΊΠ»Β», ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ шаблон Ρ†ΠΈΠΊΠ»Π° Π²ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ мСню.

Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ввСсти имя шаблона. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅. Когда Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ шаблон Π² спискС Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ шаблонов элСмСнтов. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ создании ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. Для получСния ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ написании шаблона, поТалуйста, ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ НаписаниС вашСго шаблона.

.

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

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


ΠžΠ±ΡŠΠ΅ΠΊΡ‚

Π’ UML ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ рисуСтся Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, содСрТащСго ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΠΎΠ΅ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… способов: имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π΅Π³ΠΎ класс ΠΈΠ»ΠΈ просто имя класса (Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚). Π’Ρ€ΠΈ способа присвоСния ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π° рисункС Π½ΠΈΠΆΠ΅.

Линия ΠΆΠΈΠ·Π½ΠΈ

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ участников совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ (сцСнария) написаны Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.Линия ΠΆΠΈΠ·Π½ΠΈ прСдставлСна ​​пунктирной Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Они ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° сущСствованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ИмСна ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, myAccount) ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, myAccount: Account). Часто Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (: Account) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для прСдставлСния любого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² классС. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ своя врСмСнная шкала, прСдставлСнная ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΠΏΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. БообщСния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ прСдставлСны стрСлками, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-отправитСля ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ-ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŽ.

ВсС Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмС осущСствляСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Π΅Ρ€ΡƒΡ‚ Π½Π° сСбя ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² систСмС, ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° запросы ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° систСмы. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ вмСстС, ΠΎΠ±Ρ‰Π°ΡΡΡŒ ΠΈΠ»ΠΈ взаимодСйствуя Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅

БообщСния, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ. Они пСрСходят ΠΎΡ‚ отправитСля ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŽ. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ указываСтся Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΡ€ΠΈ этом ΠΏΠ΅Ρ€Π²ΠΎΠ΅ сообщСниС отобраТаСтся Π²Π²Π΅Ρ€Ρ…Ρƒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, Π° послСднСС сообщСниС — Π²Π½ΠΈΠ·Ρƒ.Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ порядковыС Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

Π’ΠΈΠΏ Π»ΠΈΠ½ΠΈΠΈ ΠΈ Ρ‚ΠΈΠΏ стрСлки ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ‚ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ сообщСния:

  1. Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΠ΅ сообщСниС (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹Π·ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ) ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ сплошной Π»ΠΈΠ½ΠΈΠ΅ΠΉ с Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½ΠΎΠΉ стрСлкой. Π­Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² сообщСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»Π΅ΠΌ.
  2. Π’ ΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΠΌ сообщСнии ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пунктирная линия с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ стрСлкой.
  3. АсинхронноС сообщСниС ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ»ΠΎΡˆΠ½ΡƒΡŽ линию с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ стрСлкой.Π‘ΠΈΠ³Π½Π°Π» — это асинхронноС сообщСниС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π°.

БообщСния ΠΎ создании ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ

Участники Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΆΠΈΠ²ΡƒΡ‚ Π½Π° протяТСнии всСго взаимодСйствия с Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Участники ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½Ρ‹ Π² соотвСтствии с ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ сообщСниями.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ конструктора создаСт своСго получатСля. ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ сущСствуСт Π² Π½Π°Ρ‡Π°Π»Π΅ взаимодСйствия, помСщаСтся Π²Π²Π΅Ρ€Ρ…Ρƒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. Π¦Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π²ΠΎ врСмя взаимодСйствия с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ²Π° конструктора, автоматичСски ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π½ΠΈΠΆΠ΅ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ дСструктора ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ получатСля. Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ†Π΅Π»ΡŒ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½Π° Π²ΠΎ врСмя взаимодСйствия. Волько Ссли для уничтоТСния Ρ†Π΅Π»ΠΈ установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «послС дСструктора», Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ дСструктор.

НС ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ΅ сообщСниС

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

Ѐокус контроля

Focus of Control прСдставляСт ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнт выполняСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ. Π’Π΅Ρ€Ρ… ΠΈ Π½ΠΈΠ· ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π°Ρ‡Π°Π»Π° ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ соотвСтствСнно

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ прСдставляСт сообщСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ отправляСтся ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· нСскольким ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ-получатСлям, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ выполняСтС ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ основу ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π² скобках, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ * [для всСх строк Π·Π°ΠΊΠ°Π·Π°].

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π·

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с трСмя ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ: ΠΊΠ»ΠΈΠ΅Π½Ρ‚, Π·Π°ΠΊΠ°Π· ΠΈ запас. Π”Π°ΠΆΠ΅ Π½Π΅ зная Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ обозначСния, Π²Ρ‹, вСроятно, смоТСтС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ довольно Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ происходит.

  1. Π¨Π°Π³ΠΈ 1 ΠΈ 2: ΠšΠ»ΠΈΠ΅Π½Ρ‚ создаСт Π·Π°ΠΊΠ°Π·.
  2. Π¨Π°Π³ 3: ΠšΠ»ΠΈΠ΅Π½Ρ‚ добавляСт Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ Π² Π·Π°ΠΊΠ°Π·.
  3. Π¨Π°Π³ 4, 5: ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ провСряСтся Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€Π΅.
  4. Π¨Π°Π³ 6, 7, 8: Если Ρ‚ΠΎΠ²Π°Ρ€ Π΅ΡΡ‚ΡŒ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ, ΠΎΠ½ добавляСтся Π² Π·Π°ΠΊΠ°Π·.
  5. Π¨Π°Π³ 9 Π²ΠΎΠ·Π²Ρ€Π°Ρ‚
  6. Π¨Π°Π³ 10, 11: ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΊΠ°Π·

Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ UML ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹, отвСтвлСния ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹. ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² взаимодСйствия, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько сообщСний, использованиС взаимодСйствия ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹.

Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прСдставлСн Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‡Π°ΡΡ‚ΡŒ взаимодСйствий Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° (Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ) ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°. Π’ΠΈΠΏΡ‹ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ref, assert, loop, break, alt, opt ΠΈ neg, ref, sd.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
Π°Π»ΡŒΡ‚ ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ нСсколько Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² : Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΡ‚, условиС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ истинно.
ΠΎΠΏΡ†. ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ : Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ выполняСтся, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли прСдоставлСнноС условиС истинно.Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ Π°Π»ΡŒΡ‚Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΈΠΌ слСдом.
ΠΏΠ°Ρ€. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ : ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ выполняСтся ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ.
пСтля Π¦ΠΈΠΊΠ» : Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ нСсколько Ρ€Π°Π·, ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ основу ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.
критичСскоС ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ : Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.
Π½Π΅Π³ ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ : Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ нСдопустимоС взаимодСйствиС.
исх. Бсылка : относится ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅. Π Π°ΠΌΠΊΠ° нарисована Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΎ взаимодСйствии. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
SD Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ : ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для окруТСния всСй Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ — сцСнарий размСщСния Π·Π°ΠΊΠ°Π·Π°

Π§Π»Π΅Π½ корабля, ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π· ΠΎΠ½Π»Π°ΠΉΠ½.Π—Π°ΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΎΠ²Π°Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ участнику Π»ΠΈΠ±ΠΎ ΠΊΡƒΡ€ΡŒΠ΅Ρ€ΠΎΠΌ, Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΠΎΡ‡Ρ‚ΠΎΠΉ, Π² зависимости ΠΎΡ‚ Π΅Π³ΠΎ статуса участника (VIP, ΠžΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ члСнство). ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠ°Π³Π°Π·ΠΈΠ½ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ участнику ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ, Ссли участник Π²Ρ‹Π±Ρ€Π°Π» ΠΎΠΏΡ†ΠΈΡŽ увСдомлСния Π² Π·Π°ΠΊΠ°Π·Π΅.

Visual Paradigm ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ UML. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ инструмСнты для модСлирования динамичСского повСдСния систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

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

  1. Как Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² UML — Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Visual Paradigm

.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ΅ сотрудничСство Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ΅

КомандноС сотрудничСство — это ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Π° Π½Π΅ ΠΎΠ΄Π½ΠΈΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. Π§Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ Π½Π°Π΄ своими частями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ вмСстС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ сотрудничСства ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ эффСктивно ΠΈ качСствСнно.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹

Visual Paradigm обСспСчиваСт доступ ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ для управлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, совмСстного использования ΠΈ управлСния вСрсиями.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‡Π»Π΅Π½Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· рСпозитория, Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ своими частями ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΈΠΌ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ) свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π° сСрвСр, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Visual Paradigm VPository ΠΈ VP Teamwork Server ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌΠΈ стандартами систСм управлСния вСрсиями. Π’ этой Π³Π»Π°Π²Π΅ описаны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Visual Paradigm.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ участниками ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ участниками ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ — это процСссы создания участников ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ опрСдСлСния ΠΏΡ€Π°Π² доступа участников ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ.

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Касса ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Checkout Project — это процСсс получСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ· рСпозитория для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π§Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠΉΡ‚ΠΈ Π½Π° сСрвСр, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π½Π° это Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, прСдоставлСнноС администратором. ПослС этого ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ Π½ΠΈΠΌ.

ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ

Ѐиксация — это процСсс Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсСнных Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию, Π½Π° сСрвСр.Когда Ρ‡Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ вносят измСнСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своими Ρ€Π°Π±ΠΎΡ‚Π°ΠΌΠΈ, фиксируя эти измСнСния Π½Π° сСрвСрС. Visual Paradigm попытаСтся ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ Π² ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ копию. ΠŸΡ€ΠΈ слиянии ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ измСнСния, внСсСнныС ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Ρ‹Π·ΠΎΠ²ΡƒΡ‚ Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌΠΎΠ΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ΅ с измСнСниями, внСсСнными Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. Π§Π»Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΠΈ Π΅Π³ΠΎ / Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ (Ρ‚.Π΅. ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ) ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ (Ρ‚.Π΅. Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ). ВсС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚.

ОбновлСниС

ОбновлСниС — это процСсс обновлСния Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΏΡƒΡ‚Π΅ΠΌ слияния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсСнных Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ зафиксированных Ρ€Π°Π½Π΅Π΅ Π½Π° сСрвСрС. Подобно фиксации, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ — это процСсс объСдинСния Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ вмСсто пСрСзаписи. Если ваши измСнСния ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ измСнСния, внСсСнныС Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ всС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹.

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ — это ситуация, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈ фиксации ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΈ слиянии Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΈ сСрвСрной ΠΊΠΎΠΏΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ обнаруТиваСтся ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ΅. НапримСр, Ρ‡Π»Π΅Π½ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π» Ρ„ΠΎΡ€ΠΌΡƒ с A Π½Π° B ΠΈ зафиксировал ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. Π—Π°Ρ‚Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‡Π»Π΅Π½ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π» Ρ‚Ρƒ ΠΆΠ΅ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ с A Π½Π° C ΠΈ попытался Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Из-Π·Π° Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ фиксации / обновлСния.

ΠžΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅

Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ — это процСсс создания отвСтвлСния ΠΈΠ· ствола (Ρ‚. Π•. Основного ΠΏΠΎΡ‚ΠΎΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ) для изоляции ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ доступны Π² стволС Π½ΠΈ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π½ΠΈ навсСгда. Работая Π² Ρ„ΠΈΠ»ΠΈΠ°Π»Π΅, Ρ‡Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΈΠ»ΠΈ рискованныС измСнСния, Π½Π΅ бСспокоясь ΠΎ рискС поврСТдСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² стволС. ПослС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ подтвСрТдСния Ρ€Π°Π±ΠΎΡ‚, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… Π² Π²Π΅Ρ‚ΠΊΠ΅, Ρ‡Π»Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ измСнСния доступными Π² основной Π²Π΅Ρ‚ΠΊΠ΅ ΠΏΡƒΡ‚Π΅ΠΌ слияния. БлияниС Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‚ магистрали ΠΊ Π²Π΅Ρ‚Π²ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ‚ΠΊΠ° всСгда Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°.

ΠœΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°

Π’Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — это процСсс создания ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ снимка (Ρ‚. Π•. Π’Π΅Π³Π°) ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π›ΡŽΠ΄ΠΈ часто ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Ρ‚Π΅Π³ΠΈ для архивирования выпусков ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‚Π΅Π³ΠΈ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Release-1.0, Π³Π΄Π΅ 1.0 — Π½ΠΎΠΌΠ΅Ρ€ вСрсии. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π΅Π³ — это снимок, Ρ‡Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ΄ Ρ‚Π΅Π³ΠΎΠΌ.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

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

ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ — это процСсс ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Visual Paradigm Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° дСйствий Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ — ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ локально ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ измСнСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию Π² исходноС состояниС.Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ дСйствиС Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° — это ΠΎΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсСнных Π² Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ. Π§Π»Π΅Π½Ρ‹ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния, внСсСнныС Π² Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ, ΠΎΡ‚ΠΌΠ΅Π½ΠΈΠ² ΠΈΡ….

БвязанныС рСсурсы

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ рСсурсы ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Ρ‚Π΅ΠΌΠ΅, обсуТдаСмой Π½Π° этой страницС.

.

Visual Paradigm ΠžΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°

Visual Paradigm — это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ кроссплатформСнный, Π½ΠΎ простой Π² использовании инструмСнт проСктирования ΠΈ управлСния ИВ-систСмами. Visual Paradigm прСдоставляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ качСствСнныС прилоТСния быстрСС, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ дСшСвлС! Он обСспСчиваСт ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами CASE ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… IDE, Ρ‡Ρ‚ΠΎ прСвосходит вСсь ваш процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Model-Code-Deploy Π² этом ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ.

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ UML

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ всС Π²ΠΈΠ΄Ρ‹ UML 2.x Π² инструмСнтах uml Visual Paradigm, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

Гибкая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ UeXceler, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡŽ Π³ΠΈΠ±ΠΊΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² своСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. UeXceler Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‚Π΅ΠΎΡ€ΠΈΡŽ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Ρ… Π³ΠΈΠ±ΠΊΠΈΡ… инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π³ΠΈΠ±ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ систСму. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΈΠ΅ инструмСнты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠ°Ρ€Ρ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… историй ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° сродства, Π° Ρ‚Π°ΠΊΠΆΠ΅ инструмСнты UX-Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ раскадровка, каркасы ΠΈ Ρ‚. Π”.

Π”ΠΈΠ·Π°ΠΉΠ½ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Для упрощСния модСлирования Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…Ρ€Π°Π½ΠΈΠΌΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ прСдставлСниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ERD.

Помимо рисования ERD с нуля, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ схСму ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Помимо построСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ классов ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ взаимосвязСй сущностСй для поддСрТания согласованности ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

Ѐункция Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ SQL ΠΈ выполнСния доступна для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ создания ΠΈ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° SQL ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ.

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ бизнСс-процСссов

Для облСгчСния модСлирования бизнСс-процСссов ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционноС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционноС сопоставлСниС позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ рСляционной Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционном ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.Visual Paradigm создаСт ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционного сопоставлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ кэша, ΠΏΡƒΠ» соСдинСний ΠΈ настраиваСмый ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SQL.

БотрудничСство Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ совмСстно ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любого ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… инструмСнтов ΠΈΠ»ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:

  • VP Teamwork Server (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ Visual Paradigm Teamwork Server ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ)

ДокумСнтация производство

Быстрая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° спСцификации систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π”ΠΎΠΊ.ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€. Для вас Π³ΠΎΡ‚ΠΎΠ² ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ настраиваСмых шаблонов Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

БвязанныС рСсурсы

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ рСсурсы ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Ρ‚Π΅ΠΌΠ΅, обсуТдаСмой Π½Π° этой страницС.

.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *