ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния

Чистая АрхитСктура для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π₯ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π²Π°ΠΌΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Многим Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, сСрвСрных ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌ, Ρ‚.ΠΊ. являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈ построСнии Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π²Π΅Π±Π΅ ΠΎΠ½ прСдставлСн ΠΎΡ‡Π΅Π½ΡŒ скудно, хотя ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ Π΅ΡΡ‚ΡŒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ Π½Π° Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ написан Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VS Code.

ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ примСнСния этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π²Ρ‹ ΠΎΡ‚Π²ΡΠΆΠ΅Ρ‚Π΅ΡΡŒ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. Π‘ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ прСдставлСния Π²Π½ΡƒΡ‚Ρ€ΠΈ вашСго прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ React, Preact, Vue, Mithril Π±Π΅Π· пСрСписывания бизнСс Π»ΠΎΠ³ΠΈΠΊΠΈ, Π° Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π΄Π°ΠΆΠ΅ Π²ΡŒΡŽΡ…ΠΈ. Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Angular 1, Π²Ρ‹ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ смоТСтС пСрСвСсти Π΅Π³ΠΎ Π½Π° Angular 2+, React, Svelte, WebComponents ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ свою Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ прСдставлСния. Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Angular 2+, Π½ΠΎ Π½Π΅Ρ‚Ρƒ спСциалистов для Π½Π΅Π³ΠΎ, Ρ‚ΠΎ Π²Ρ‹ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ смоТСтС пСрСвСсти ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π±Π΅Π· пСрСписывания бизнСс Π»ΠΎΠ³ΠΈΠΊΠΈ. А Π² ΠΈΡ‚ΠΎΠ³Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ с Ρ„Ρ€Π΅ΠΌΠ²ΠΎΡ€ΠΊΠ° Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ. Π§Ρ‚ΠΎ ΠΆΠ΅ это Π·Π° магия такая?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Чистая АрхитСктура

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ это, Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° Π ΠΎΠ±Π΅Ρ€Ρ‚Π° «Чистая АрхитСктура» (Robert C.Martin Β«Clean ArchitectureΒ»). ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎ ссылкС.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ:

ДостигаСтся такая Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π·Π° счСт раздСлСния прилоТСния Π½Π° слои Service, Repository, Model. Π― ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊ Чистой АрхитСктурС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ MVC ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ слои:

ΠšΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Чистая АрхитСктура

Π’Π΅Π± Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΡˆΠ»Π° большой ΠΏΡƒΡ‚ΡŒ развития, начиная ΠΎΡ‚ простого скриптования Π½Π° jquery Π΄ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… SPA ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. И сСйчас Π²Π΅Π± прилоТСния стали Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ большими Ρ‡Ρ‚ΠΎ количСство бизнСс Π»ΠΎΠ³ΠΈΠΊΠΈ стало сопоставимо ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€Π΅Π²ΠΎΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ сСрвСрныС, Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния.

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

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

Π“Π΄Π΅ ΡƒΠΆΠ΅ примСняСтся?

Чистая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π΅ привязана ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΡƒ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈΠ»ΠΈ языку программирования. ДСсятилСтия Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для написания Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π•Π³ΠΎ ΡΡ‚Π°Π»ΠΎΠ½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π²ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ… для сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Asp.Net Core, Java Spring ΠΈ NestJS. Π’Π°ΠΊ ΠΆΠ΅ ΠΎΠ½Π° ΠΎΡ‡Π΅Π½ΡŒ популярна ΠΏΡ€ΠΈ написании iOs ΠΈ Android ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Но Π² Π²Π΅Π± Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠ½ прСдстал Π² ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π²ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ… Angular.

Π’Π°ΠΊ ΠΊΠ°ΠΊ я сам Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Typescript, Π½ΠΎ ΠΈ C# Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ρ‚ΠΎ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²ΠΎΠ·ΡŒΠΌΡƒ ΡΡ‚Π°Π»ΠΎΠ½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ этой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ для Asp.Net Core.

Π’ΠΎΡ‚ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ прилоТСния:

Если Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ написано Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ, дальшС ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎ частям ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ для Asp.Net Core прилоТСния, Π½ΠΎ для Java Spring, WinForms, Android, React Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ ΠΊΠΎΠ΄ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, мСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ язык ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π²ΡŒΡŽΡ…ΠΎΠΉ (Ссли ΠΎΠ½Π° Π΅ΡΡ‚ΡŒ).

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Π²Π΅Π±-прилоТСниях

ЕдинствСнный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пытался ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π§ΠΈΡΡ‚ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π±Ρ‹Π» Angular. Но ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ это просто уТасно, Ρ‡Ρ‚ΠΎ Π² 1, Ρ‡Ρ‚ΠΎ Π² 2+.

И ΠΏΡ€ΠΈΡ‡ΠΈΠ½ для этого ΠΌΠ½ΠΎΠ³ΠΎ:

НачинаСм ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π§ΠΈΡΡ‚ΡƒΡŽ АрхитСктуру Π±ΡƒΠ΄Π΅ΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠ³ΠΎ прилоТСния, максимально ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Π­Ρ‚ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚ Π² страховой ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, страховыС случаи, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Ρ‚Π°Ρ€ΠΈΡ„Ρ‹ страхования ΠΈ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° лишь малая Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°, Π½ΠΎ ΠΏΠΎ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π». ΠΠ°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π½Π΅ΠΌ со слоя Controller, Π° View слой ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π² самом ΠΊΠΎΠ½Ρ†Π΅. А ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ создания рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ слой Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Π΅Π΅.

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Controller

Controller β€” ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° взаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π½Π° Π²Π΅Π± страницС, Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, мобильном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² консоли линукса, ΠΈΠ»ΠΈ сСтСвой запрос, ΠΈΠ»ΠΈ любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ IO событиС приходящСС Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π‘Π°ΠΌΡ‹ΠΉ простой ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π² чистой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π•Π³ΠΎ Π·Π°Π΄Π°Ρ‡Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ событиС ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ бизнСс процСссы. Π’ идСальном случаС Controller Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΏΡ€ΠΎ View, ΠΈ Ρ‚ΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Web, React-Native ΠΈΠ»ΠΈ Electron.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ напишСм ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ для нашСго прилоТСния. Π•Π³ΠΎ Π·Π°Π΄Π°Ρ‡Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Ρ‚Π°Ρ€ΠΈΡ„Ρ‹ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ Ρ‚Π°Ρ€ΠΈΡ„ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ:

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

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ вынСсти Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ слой, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся Service.

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Service

Service β€” ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° всю бизнСс Π»ΠΎΠ³ΠΈΠΊΡƒ прилоТСния. Если Controller’Ρƒ понадобилось ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ β€” ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ это Ρ‡Π΅Ρ€Π΅Π· Service. Если нСскольким ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ понадобилась ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Service. Но сам слой Service Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΎ слоС Controller ΠΈ View ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π”Π°Π²Π°ΠΉΡ‚Π΅ вынСсСм Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ· ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π² сСрвис ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΠΌ сСрвис Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ссли нСскольким ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ Ρ‚Π°Ρ€ΠΈΡ„Ρ‹, ΠΎΠ½ΠΈ смогу ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚ΡƒΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ· сСрвисов. Π’ сСрвисах Π³Π»Π°Π²Π½ΠΎΠ΅ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ SOLID ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сСрвис ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° свою Π·ΠΎΠ½Ρƒ отвСтствСнности. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ΄ΠΈΠ½ сСрвис ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвис Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ‚Π°Ρ€ΠΈΡ„Π°ΠΌΠΈ.

Но Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ссли источник Π΄Π°Π½Π½Ρ‹Ρ… помСняСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ fetch ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ Π½Π° websocket ΠΈΠ»ΠΈ grps ΠΈΠ»ΠΈ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ тСстовыми? И Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π°Ρ‡Π΅ΠΌ бизнСс Π»ΠΎΠ³ΠΈΠΊΠ΅ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ источникС Π΄Π°Π½Π½Ρ‹Ρ…? Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ… этих ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ сущСствуСт слой Repository.

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Repository

Repository β€” ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ качСствС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ сСрвСр, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ°ΠΌΡΡ‚ΡŒ, localstorage, sessionstorage ΠΈΠ»ΠΈ любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Π•Π³ΠΎ Π·Π°Π΄Π°Ρ‡Π° Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ слой Service ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

Π”Π°Π²Π°ΠΉΡ‚Π΅ вынСсСм сСтСвыС запросы ΠΈΠ· сСрвисов Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΡ€ΠΈ этом Π½Π΅ мСняСм:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ достаточно ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ запрос ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ любой сСрвис смоТСт ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот запрос. ПозТС ΠΌΡ‹ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π΅ трогая ΠΊΠΎΠ΄ сСрвиса ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ ΠΌΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° врСмя тСстирования.

Π’ сСрвисС UserProfilService ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ Π·Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π½ΠΎ это Π½Π΅ Ρ‚Π°ΠΊ. Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² бизнСс слоС ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ трСбования, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ запрос ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠ³Π°Ρ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π² слоС сСрвиса Π½Π΅Ρ‚Ρƒ Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° Controller β€” Service β€” Repository Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ. Π­Ρ‚ΠΎ Π²ΠΊΠ»Π°Π΄ Π² вашС Π·Π°Π²Ρ‚Ρ€Π°.

Настало врСмя Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ Π·Π° Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π»ΠΈ ΠΎΠ½ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅. Π—Π° это ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ слой Models.

МодСли: DTO, Entities, ViewModels

Models β€” ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° описаниС структур с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΎΠ΅ описаниС ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ½ΡΡ‚ΡŒ с Ρ‡Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ Π΅Π³ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для построСния Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… хранящихся Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ модСль профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈ сообщим ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ слоям Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π΅ с абстрактным ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Π° с Π²ΠΏΠΎΠ»Π½Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΌ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

АрхитСктурный Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΈΜ†Π½Π° β„–1:
НаличиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-Β«Π±ΠΎΠ³Π°Β» с ΠΈΠΌΠ΅Π½Π΅ΠΌ, содСрТащим Β«ManagerΒ», Β«ProcessorΒ» ΠΈΠ»ΠΈ Β«APIΒ»

ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния
Π’Π΅Π΄ΡƒΡ‰ΠΈΠΉ iOS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Redmadrobot Π•Π³ΠΎΡ€ BepTep Π’Π°Ρ„Π»Π°Π½ΠΈΠ΄ΠΈ β€” ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ стройного Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° мобильного прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ классичСскиС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования ΠΈ логичСскоС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

ВсС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… я встрСчал, Π² Ρ€Π°Π·Π½ΠΎΠΉ стСпСни ΠΎΠ±Π»Π°Π΄Π°Π»ΠΈ ΠΎΠ΄Π½ΠΎΠΈΜ† ΠΈ Ρ‚ΠΎΠΈΜ† ΠΆΠ΅ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΈΜ† Π΄Π΅Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΈΜ† Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°: Π² своСй Ρ€Π΅Ρ‡ΠΈ ΠΎΠ½ΠΈ ΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠΊΠΈ. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΈΜ† ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, вСдь ΡΡƒΡ‚ΡŒ гибкости Π»ΡŽΠ±ΠΎΠΈΜ† систСмы Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² абстрагировании ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈΜ†. Π§Π΅ΠΌ дольшС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ отсрочСнным β€” Ρ‚Π΅ΠΌ Π³ΠΈΠ±Ρ‡Π΅ систСма. Если UI достаточно абстрагирован ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΈΜ† уровня сохранСния Π΄Π°Π½Π½Ρ‹Ρ… β€” Ρ‚ΠΎ считываниС Ρ„Π°ΠΈΜ†Π»Π° с ΠΆΠ΅ΜˆΡΡ‚ΠΊΠΎΠ³ΠΎ диска с Π»Π΅ΜˆΠ³ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ скачиваниСм Ρ‚ΠΎΠΈΜ† ΠΆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с сСрвСрного API.

И всС ΠΆΠ΅, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠΎ ΠΏΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΈΜ† Π΄ΠΈΠ·Π°ΠΈΜ†Π½ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ iOS-прилоТСния.
Π― ΠΎΠΏΠΈΡˆΡƒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΈΜ† ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ дСлСнию Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния Π½Π° ΡƒΡ€ΠΎΠ²Π½ΠΈ ΠΈ слои, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… участников Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… процСссов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΈΜ† β€” со своСй собствСнной ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ взаимодСйствиями с ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Установка

TL;DR: ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π‘Π’Π« β€” Π’ΠžΠ–Π• НАУЧНЫЕ Π‘ΠžΠ’Π Π£Π”ΠΠ˜ΠšΠ˜

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

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

Книга Β«Π―Π·Ρ‹ΠΊ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ²Β» ΠšΡ€ΠΈΡΡ‚ΠΎΡ„Π΅Ρ€Π° АлСксандра, давшая Ρ‚ΠΎΠ»Ρ‡ΠΎΠΊ Π² сторону использования шаблонов Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° Π² 1977 Π³ΠΎΠ΄Ρƒ, Π° ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Model-View-Controller описан Π² 1979-ΠΌ.
Π’ΠΎΠΎΡ€ΡƒΠΆΠΈΠ²ΡˆΠΈΡΡŒ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ Π² области Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО ΠΈ Π½Π°Π΄Π΅Π² Π±Π΅Π»Ρ‹ΠΈΜ† Ρ…Π°Π»Π°Ρ‚ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΠΊΠ°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π²Ρ‹ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΈΜ† ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ прилоТСния для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΠΈΜ† ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

N.B. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΈΜ† ΠΆΠΈΠ·Π½ΠΈ (с ΡƒΡ‡Π΅ΜˆΡ‚ΠΎΠΌ бизнСс-Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΈΜ† ΠΊ систСмС ΠΈ принимая Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ сроки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ) ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ нСсколько ΠΈΠ½Π°Ρ‡Π΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ с ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π° спиной ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° стоит Π½Π΅ просто ваша Π²Ρ‹Π΄ΡƒΠΌΠΊΠ°, Π° обоснованный Π½Π°Π±ΠΎΡ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈΜ†.

ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния

Π‘Π€Π•Π Π˜Π§Π•Π‘ΠšΠΠ― Π‘Π˜Π‘Π’Π•ΠœΠ Π’ Π’ΠΠšΠ£Π£ΠœΠ•

МодСль пСсочных часов

БИВΠ₯ΠžΠ’ ВБЕГДА Π”Π’ΠžΠ•: ΠžΠ”Π˜Π БВРОИВ Π‘Π•Π Π’Π˜Π‘Π«, Π”Π Π£Π“ΠžΠ˜Μ† Π’ΠžΠ—Π”Π’Π˜Π“ΠΠ•Π’ НА НИΠ₯ UI

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΆΠ΅ шагом ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌ модСль ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ прСдставлСния, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π΄Π΅Π»ΠΈΠ² Π΄Π²Π° уровня прилоТСния: Β«Π½ΠΈΠΆΠ½ΠΈΠΈΜ†Β» ΠΎΠ±Ρ€Π°Ρ‰Π΅ΜˆΠ½ Π² сторону сСрвСрных мощностСй, Β«Π²Π΅Ρ€Ρ…Π½ΠΈΠΈΜ†Β» смотрит Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

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

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

БСрвисы

ИБВОРИЯ Π¨Π’Π•ΠŸΠ‘Π•Π›Π¬ΠΠžΠ“Πž Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π―

Как Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ сСрвСрныС прилоТСния? ΠžΡ‡Π΅Π½ΡŒ просто. ВсСгда Π΅ΡΡ‚ΡŒ какая-Ρ‚ΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… (ΠΈΠ»ΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΈΜ† Π΅ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’Π°Π±Π»ΠΈΡ†Ρ‹ состоят ΠΈΠ· записСй. КаТдая запись содСрТит Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ»Π΅ΠΈΜ†, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… хранится информация.

Записи ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с полями, Ρ‚Π΅ΠΌ самым Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ логичСскоС Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…: ΠΎΠ΄Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° β€” ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°Π±Π»ΠΈΡ†Π° Β«ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΒ» β€” Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Β«ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΒ» (поля: ID, ЀИО, адрСс). Π’Π°Π±Π»ΠΈΡ†Π° «БообщСния» β€” Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Β«Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Β» (поля: ID, Π’Π΅ΠΌΠ° сообщСния, Π’Π΅Π»ΠΎ сообщСния, ΠšΠΎΠΌΡƒ, ΠžΡ‚ ΠΊΠΎΠ³ΠΎ, Π”Π°Ρ‚Π°). И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, вся Π»ΠΎΠ³ΠΈΠΊΠ° крутится Π²ΠΎΠΊΡ€ΡƒΠ³ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

1. ΠœΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹ΠΈΜ† ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΈΜ† Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….
2. БСриализация модСльного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для сохранСния Π΅Π³ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.
3. ДСсСриализация модСльного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
4. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ модСльного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: ΠΏΠΎΠ΄ΡΡ‡Π΅ΜˆΡ‚ ΠΊΠ°ΠΊΠΎΠΈΜ†-Ρ‚ΠΎ статистики,
сортировка Π΄Π°Π½Π½Ρ‹Ρ…, поиск Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚.Π΄.
5. БСриализация модСльного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΅Π³ΠΎ ΠΏΠΎ сСти.
6. ДСсСриализация ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², приходящих ΠΏΠΎ сСти.
7. ВыставлСнный Π² ΡΠ΅Ρ‚ΡŒ web-сСрвис, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΈΜ† Π΄Π°Π½Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ
Π΄Π°Π½Π½Ρ‹Ρ….

Π’ΡΠ΅Μˆ это выстраиваСтся Π² своСго Ρ€ΠΎΠ΄Π° стСк, Π° само сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚Π°ΠΊΠΈΡ… нСзависимых стСков, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΈΜ† ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… соотвСтствуСт ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ….

Π“Ρ€ΡƒΠ±ΠΎ говоря, Ссли ΠΏΠΎ спСцификации API Ρƒ вас имССтся web-сСрвис api.domain.com/1-0/messages с классичСским CRUD-интСрфСйсом β€” это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π·Π° Π½ΠΈΠΌ стоит Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹ΠΈΜ† «стСк» для Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… «сообщСниС».

Create = POST;
Read = GET;
Update = PUT;
Delete = DELETE.

N.B. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² POST ΠΈ PUT. Π’ ΠΎΠ΄Π½ΠΈΡ… рСализациях POST ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° созданиС сущностСй, Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… β€” Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. ΠšΠ°Π½ΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΠΎΠ³ΠΎ трактования, ΡƒΠ²Ρ‹, Π½Π΅ сущСствуСт, Π½ΠΎ Π² этом Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, сСрвСр ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ стандартизованный Π½Π°Π±ΠΎΡ€ запросов, Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΈΜ† посрСдством URL-суффиксов ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ web- сСрвису:

/messages/ β€” ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ID;
/messages// β€” ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠ»Π΅ΠΌ сущности с >
Π˜Π’ΠžΠ“Πž:

Π’ΡΠ΅Μˆ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ слСдуСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” это ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π²ΠΈΠ»ΠΊΡƒ ΠΊ Ρ€ΠΎΠ·Π΅Ρ‚ΠΊΠ΅.
А имСнно:

1. ΠžΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ транспортный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ прилоТСния Π² Π²ΠΈΠ΄Π΅ сущности, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ собой HTTP-соСдинСниС вмСстС со всСми Π΅Π³ΠΎ настройками (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΈΜ†ΠΌΠ°ΡƒΡ‚Ρ‹ ΠΈ ΠΏΡ€.)
β€’ Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΈΜ†Ρ сущности Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΈΜ† ΠΆΠ΅ CRUD, ΠΊΠ°ΠΊ ΠΈ выставлСнный Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ web-сСрвис. Если Π΅ΡΡ‚ΡŒ доступ ΠΊ адрСсу /messages β€” Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°; Ссли Π΅ΡΡ‚ΡŒ доступ ΠΊ GET /messages// β€” сдСлайтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΈΜ† ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΈΜ† Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ этой .
β€’ Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ обязана Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΈΜ†. Если Π² ΠΎΠ΄ΠΈΠ½ прСкрасный ΠΌΠΎΠΌΠ΅Π½Ρ‚ ваш Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΈΜ† web-сСрвис /messages пСрСстанСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²Π°ΠΌ достаточно Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ-Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΡƒΡŽ интСрфСйс транспортного уровня, Π½ΠΎ Π±Π΅Ρ€ΡƒΡ‰ΡƒΡŽ Π΄Π°Π½Π½Ρ‹Π΅ с
Ρ„Π°ΠΈΜ†Π»ΠΎΠ²ΠΎΠΈΜ† систСмы.

2. ΠžΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ парсСры ΠΈ сСриализаторы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π² Π²ΠΈΠ΄, ΡƒΠ΄ΠΎΠ±ΠΎΠ²Π°Ρ€ΠΈΠΌΡ‹ΠΈΜ† для вашСго транспортного уровня.
β€’ΠŸΠ°Ρ€ΡΠ΅Ρ€Ρ‹ ΠΈ сСриализаторы нСсут Π² сСбС знания ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² словари Π°-ля JSON ΠΈΠ»ΠΈ XML. НС ΠΏΡ‹Ρ‚Π°ΠΈΜ†Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΈΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ эти знания ΠΊ самим ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ β€” ΠΎΠ½ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ относятся ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ слоям прилоТСния.
β€’ БущСствуСт русскоязычный Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «топографичСский ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΈΜ† ΠΌΠΎΠ³ Π±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ англоязычныС «парсСр» ΠΈ «сСриализатор», Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎΡ‚ сам Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½Π΅ приТился…

3. ΠžΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.
β€’ Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° просто ΡƒΠΌΠ΅Ρ‚ΡŒ потокобСзопасно ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ доступ ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ Π±ΠΎΠ»Π΅Π΅ свСТими.

4. ΠžΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ сам «сСрвис» β€” ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, которая Π±ΡƒΠ΄Π΅Ρ‚ отвСтствСнна Π·Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΡŽ транспортного уровня, парсСров, сСриализаторов ΠΈ кСша.
β€’ Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΈΜ†Ρ сСрвиса Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ бизнСс-трСбованиям слоя UI. Если для UI Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ β€” Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ для получСния этой сущности. Если UI Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅ΜˆΠ½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ β€” Ρƒ сСрвиса Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ с этими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. Π’ случаС, Ссли UI Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, отсортированный ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ, β€” сСрвис Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΈΜ† ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΈΜ† Π²Π΅Ρ€Π½Π΅ΜˆΡ‚ отсортированный массив.
β€’ И Π΄Π°, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ классичСский ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ: слои прилоТСния ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой посрСдством ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ИспользованиС словарСй/map для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… нСдопустимо β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строгая типизация.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ фактичСски Π΄Π΅Π»Π°Π΅ΠΌ свой собствСнный стСк, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΈΜ† сСрвСрному, Π½ΠΎ Π΄Π΅ΠΈΜ†ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΈΜ† Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ сторону. Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· шагов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:
ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния
Бколько Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… β€” ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈ сСрвисов. Π­Ρ‚Ρƒ Ρ†ΠΈΡ„Ρ€Ρƒ довольно просто Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈΠ· спСцификации API.

N.B. «ЧистыС» сСрвисы Π² ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ Ρ‚Π°ΠΊ часто. Π‘Ρ‹Π²Π°Π΅Ρ‚, Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΈΜ† сСрвис обслуТиваСт сразу нСсколько Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ обусловлСно Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹Π΅ сущности ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°: ΠΎΠ΄Π½Π° ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ нСсти Π² сСбС массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΈΜ† ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² качСствС свойства.

Π’ этом Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ, просто ваши парсСры ΠΈ сСриализаторы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ².

БСрвисы обязаны Π±Ρ‹Ρ‚ΡŒ максимально Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π²Π°ΠΌ Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ логичСскиС зависимости. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, это Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ сСрвис, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΈΜ† Π·Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ сСссии с сСрвСром, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ сСрвисы зависят ΠΎΡ‚ Π½Π΅Π³ΠΎ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ прСдоставляСмый ΠΈΠΌ token для формирования запросов.

N.B. ΠšΠ°ΠΆΠ΄Ρ‹ΠΈΜ† ΠΈΠ· сСрвисов Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ CRUD-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ интСрфСйсом, построСнным Π²ΠΎΠΊΡ€ΡƒΠ³ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… этим сСрвисом. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ²ΠΎΠ΄ΠΎΠΌ для выдСлСния абстрактного сСрвиса с абстрактным CRUD-интСрфСйсом для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ наслСдования ΠΎΡ‚ Π½Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… сСрвисов, Ρ‡Ρ‚ΠΎ обСспСчит Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.

ВыстраиваниС уровня model ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡΡƒΡ‚ΡŒ рСализация ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° слоистой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ с Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ΄Π΅ΠΈΜ† сСрвис-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΈΜ† Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

ΠœΡ‹ Π½Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Π»ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ.

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ UI

Π’Π Π•ΠœΠ― Π—ΠΠœΠ•Π§ΠΠ’Π•Π›Π¬ΠΠ«Π₯ Π˜Π‘Π’ΠžΠ Π˜Π˜Μ†

Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, скачали с рСпозитория исходники Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ прилоТСния. ΠšΠ°ΠΊΠΎΠΈΜ† самый простой способ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚? ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ! Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ! ΠŸΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с ячСйками, стилизованныС ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π±Π°Ρ€Π°Π±Π°Π½Ρ‹ с Π΄Π°Ρ‚Π°ΠΌΠΈ, навигация, названия экранов… Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π΄Π°Ρ‡Π°: ΠΊΠ°ΠΊ соотнСсти это всС̈ с исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΈΜ† разбросан ΠΏΠΎ нСскольким сотням Ρ„Π°ΠΈΜ†Π»ΠΎΠ², Ρ‡Ρ‚ΠΎ маячат ΠΏΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ Π² IDE?

ΠœΡ‹ ΡƒΠΆΠ΅ обособили ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡƒΡ€ΠΎΠ²Π½Π΅ΠΈΜ† прилоТСния β€” фактичСски model Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΈΜ† ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ back-end. Или Π΄Π°ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ back-end’a, Ссли Π²Ρ‹ соблюли всС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ проСктирования ΠΈ сохранили ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅ΜˆΠ½Π½Ρ‹ΠΈΜ† ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции.

Но Π²ΠΎΡ‚ Π½Π΅Π·Π°Π΄Π°Ρ‡Π°: Ρƒ нас Π΅Ρ‰Π΅Μˆ Ρ†Π΅Π»Ρ‹Ρ… Π΄Π²Π° (!) слоя, Π° СдинствСнная Π½Π°ΠΌΠ΅ΜˆΡ‚ΠΊΠ° Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈ Π³Π΄Π΅ Π² исходных ΠΊΠΎΠ΄Π°Ρ… находится β€” это само Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ΅ Π½Π° устройствС ΠΈΠ»ΠΈ Π² эмуляторС. Π’ΡƒΡ‚-Ρ‚ΠΎ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΈ приходят ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ истории.

Если вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ…ΠΎΡ‚ΡŒ сколько-Π½ΠΈΠ±ΡƒΠ΄ΡŒ соотвСтствуСт Π·Π΄Ρ€Π°Π²ΠΎΠΌΡƒ смыслу, ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅ΜˆΠ½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ историям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΡƒΡŽΡ‚ сцСнарии, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ дСйствия. Π‘Π°ΠΌΡ‹ΠΈΜ† классичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” это истории рСгистрации ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΎ врСмя рСгистрации ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π½Π° Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ, Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π»ΠΎΠ³ΠΈΠ½Ρ‹ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, всС̈ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сдобрСно ΠΌΠ΅Ρ€Π°ΠΌΠΈ бСзопасности Π² Π²ΠΈΠ΄Π΅ SMS ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. БоотвСтствСнно, Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ сущСствуСт цСлая история, ΠΊΠ°ΡΠ°ΡŽΡ‰Π°ΡΡΡ рСгистрации. БлСдуя Π»ΠΎΠ³ΠΈΠΊΠ΅, Π΄Π°Π±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Тизнь, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ слСдованиС этим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ историям ΠΏΡ€ΠΈ построСнии структуры уровня UI.

Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, SDK ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΜ† ΠΏΠΎΠ΄ iOS ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ вСсь Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΈΜ† для этого инструмСнтарий: достаточно просто завСсти ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ свой Storyboard β€” ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ структуру ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС классы ΡΡ‚Ρ€ΠΎΠΈΠ»ΠΈΡΡŒ Π²ΠΎΠΊΡ€ΡƒΠ³ этих историй. Π”Π°Π»Π΅Π΅ эти Storyboard’ы ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ динамичСски ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ посрСдством Π½Π΅Ρ…ΠΈΡ‚Ρ€Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π½ΠΎ это ΡƒΠΆΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Ρƒ вас получится структура, раздСлСнная Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎ историям, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π±ΡƒΠ΄ΡƒΡ‚ свои прСдставлСния ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ с классами-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ, ΠΈ Π² этой структурС ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, исходя лишь ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ вас творится Π½Π° экранС устройства/эмулятора.

N.B. И Π΄Π°, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ классичСскиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ проСктирования. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ SOLID, DRY, KISS ΠΈ YAGNI ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΈΜ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π³Π»Π°Π²Π½ΠΎΠ΅ β€” Π½Π΅ Π»Π΅Π½ΠΈΡ‚ΡŒΡΡ, ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ сущности Π² соотвСтствии с ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ΠΈ нСсут. ΠžΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ подскаТСт ΠΎΠΏΡ‹Ρ‚.

МоТно Π½Π°Π±Ρ€ΠΎΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ классов:
ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния
ЕстСствСнно, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²Ρƒ Π½Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π΅Π»Π°, ΠΈ Π΄Π°Π½Π½Ρ‹ΠΈΜ† ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π΅ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΡƒΠ΅Ρ‚ Π½Π° Π·Π²Π°Π½ΠΈΠ΅ эталонного.

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

Π˜Π’ΠžΠ“Π˜ И ΠžΠ‘Π‘Π£Π–Π”Π•ΠΠ˜Π•

ΠœΡ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ рассмотрСли, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ возвСсти стройный Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΈΜ† Π΄ΠΈΠ·Π°ΠΈΜ†Π½ мобильного прилоТСния. Для этого ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ сплав ΠΈΠ· классичСских шаблонов проСктирования (MVC, SOA ΠΈ Multilayered Architecture), ΠΏΡ€ΠΈΠ±Π΅Π³Π½ΡƒΠ² Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ логичСскому Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡŽ исходного ΠΊΠΎΠ΄Π° Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… историях.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΈΜ† вопрос ΠΊ community:
Использовал Π»ΠΈ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π° Π±ΠΎΠ΅Π²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ View-Interactor-Presenter-Entity-Router, ΠΈ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π±Ρ‹Π»ΠΎ достигнуто ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ сущности/шаблона Router? Как ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ разрастания Router’a?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

АрхитСктура прилоТСния ΠΌΠ°Π»ΠΎΠΉ ΠΊΡ€ΠΎΠ²ΡŒΡŽ

МалСнькая зарисовка Π½Π° Ρ‚Π΅ΠΌΡƒ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ с Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π’Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ. Π’ΠΎΠ³Π΄Π° Π’Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΡ‚ΠΎ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΡ‚ΠΎ/Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡ… ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ прСобразования Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ сама систСма.

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ выяснитС, ΠΊΡ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ вашСй систСмС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π° ΠΊ Ρ‡Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π’Π°ΡˆΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π’Π΅ систСмы ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ сами, нарисуйтС схСматичСски Π½Π° листС Π±ΡƒΠΌΠ°Π³ΠΈ Π²Π²Π΅Ρ€Ρ…Ρƒ. Π’Π΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π‘Π”), β€” снизу.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ нарисуйтС ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ нарисованным свСрху ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ UI ΠΈΠ»ΠΈ API β€” это интСрфСйсы, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ внСшняя ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ систСма. Иногда UI Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ API. ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ всС ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ с UI ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΎΠΌ ΠΈ ΠΎΠ±Π·ΠΎΠ²ΠΈΡ‚Π΅ слоСм прСдставлСния. ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ всС ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ с API ΠΈ ΠΎΠ±Π·ΠΎΠ²ΠΈΡ‚Π΅ слоСм сСрвисов.

Для систСм, нарисованных снизу, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° доступ ΠΊ этим систСмам. ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ всС эти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΎΠΌ ΠΈ ΠΎΠ±Π·ΠΎΠ²ΠΈΡ‚Π΅ слоСм доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ.

ΠœΠ΅ΠΆΠ΄Ρƒ слоСм сСрвисов ΠΈ слоСм доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ нарисуйтС большой ΠΊΠΎΠ½Ρ‚ΡƒΡ€ ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π³ΠΎ слоСм бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ. Π’ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ этого ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π° пСрСчислитС основныС бизнСс-Π·Π°Π΄Π°Ρ‡ΠΈ. Один ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π’Π°ΡˆΠ΅ΠΉ систСмы Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ бизнСс-Π·Π°Π΄Π°Ρ‡Ρƒ.

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

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. РазбросайтС слои ΠΏΠΎ сСрвСрам β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ„ΠΈΠ·ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΌ остаётся Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ малСнький ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊ.

МалСнький практичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€ запрячу ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚.

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° я Π²ΠΎΠ·ΡŒΠΌΡƒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ систСмы контроля успСваСмости для срСднСй ΡˆΠΊΠΎΠ»Ρ‹. Π’ΠΎΠ·ΡŒΠΌΡƒ Π΅Ρ‘ ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, всС ΠΌΡ‹ ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Π² школС. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ· нас Π΄Π΅Ρ‚ΠΈ сСйчас учатся Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ школС. Из-Π·Π° этого, надСюсь, прСдмСтная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ всСм понятна.

Π˜Ρ‚Π°ΠΊ, наша систСма Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для вСдСния элСктронных Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΠ² учащихся ΠΈ элСктронных классных ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ². Π’ довСсок ΠΏΡƒΡΡ‚ΡŒ систСма ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ учащимся, родитСлям ΠΈ прСподаватСлям ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ сообщСниями, Π° руководству ΡˆΠΊΠΎΠ»Ρ‹ β€” ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ процСсс.

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

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

БСрвисов Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅: элСктронный Π΄Π½Π΅Π²Π½ΠΈΠΊ, элСктронный ΠΆΡƒΡ€Π½Π°Π», организация ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ процСсса ΠΈ администрированиС.

Под слоСм сСрвисов Π±ΡƒΠ΄Π΅Ρ‚ слой бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ, состоящий ΠΈΠ· дСсятка ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΡ… бизнСс-Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

БистСма Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²Π΅ внСшниС систСмы, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ наша систСма Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ: систСма справочной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ информационная систСма Π”Π΅ΠΏΠ°Ρ€Ρ‚Π°ΠΌΠ΅Π½Ρ‚Π° образования.

Π‘ΠΊΠ²ΠΎΠ·Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Турналирования, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, обСспСчСния бСзопасности.

Π’ ΠΈΡ‚ΠΎΠ³Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ схСму:

ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния

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

НадСюсь, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ понятСн.

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

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

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

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