КСйс ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ: ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΎΠΉ систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

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

Kawaii-style infographic illustrating UML package diagram architecture for a library management system, showing four main packages: Core Domain with Book/Member/Loan entities, Access Layer for authentication, Data Access for persistence, and Utilities for helper functions, with dependency arrows demonstrating unidirectional flow and key software architecture principles like stable core dependencies and interface segregation, designed with cute pastel characters and library-themed elements

🧠 ПониманиС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ? Когда систСмы растут, количСство классов, интСрфСйсов ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ увСличиваСтся ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ. Π‘Π΅Π· Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ структуры кодовая Π±Π°Π·Π° прСвращаСтся Π² Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΡƒΡŽ ΠΊΠ°ΡˆΡƒ, ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ ΠΊΠ°ΠΊ «спагСтти-ΠΊΠΎΠ΄Β». Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ лСс, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π΄Π΅Ρ€Π΅Π²ΡŒΡ. Она ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ вопросы:

  • КакиС части систСмы зависят ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…?
  • Π“Π΄Π΅ находятся ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹?
  • Как ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… областях?
  • КакиС интСрфСйсы ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ модулями?

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

πŸ“– ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°: экосистСма Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

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

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ:РСгистрация, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ ΠΈ аутСнтификация.
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€Π΅ΠΌ:Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ поиск ΠΊΠ½ΠΈΠ³ ΠΈ ΠΌΠ΅Π΄ΠΈΠ°.
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ:Π’Ρ‹Π΄Π°Ρ‡Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ², Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² ΠΈ Π±Ρ€ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ².
  • Ѐинансы:РасчСт ΡˆΡ‚Ρ€Π°Ρ„ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ°ΠΌΠΈ.
  • ΠžΡ‚Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ:ГСнСрация статистики ΠΏΠΎ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρƒ ΠΈ популярности.

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

πŸ” ВыявлСниС логичСских ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ шаг Π² ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ β€” выявлСниС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ вмСстС (ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ), ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ минимизируя зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π΅ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ (ΡΠ²ΡΠ·Π½ΠΎΡΡ‚ΡŒ). Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠΌ Π½Π°Π±ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для нашСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΎΠΉ систСмы.

1. ΠŸΠ°ΠΊΠ΅Ρ‚ основной области

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ содСрТит основныС бизнСс-сущности. Он прСдставляСт «истину» систСмы. Π’ контСкстС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ это Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±ΡΠšΠ½ΠΈΠ³Ρƒ, Π§Π»Π΅Π½, Π—Π°ΠΉΠΌ, ΠΈ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ классы. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ систСмы. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π³ΠΎ, Π½ΠΎ ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для функционирования.

2. ΠŸΠ°ΠΊΠ΅Ρ‚ слоя доступа

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° взаимодСйствиС с внСшним ΠΌΠΈΡ€ΠΎΠΌ. Он управляСт сСансами ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Он выступаСт Π² Ρ€ΠΎΠ»ΠΈ шлюза. Он Π½Π΅ содСрТит бизнСс-ΠΏΡ€Π°Π²ΠΈΠ»; ΠΎΠ½ просто ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² ядро Π΄ΠΎΠΌΠ΅Π½Π°.

3. ΠŸΠ°ΠΊΠ΅Ρ‚ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° сохранСниС Π΄Π°Π½Π½Ρ‹Ρ…. Он Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠšΠ½ΠΈΠ³Ρƒ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Π·Π°ΠΉΠΌΠΎΠ². Он взаимодСйствуСт нСпосрСдствСнно с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ хранСния. Π˜Π·ΠΎΠ»ΠΈΡ€ΡƒΡ Π΅Π³ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ хранСния Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ затрагивая бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ.

4. ΠŸΠ°ΠΊΠ΅Ρ‚ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ слуТСбных срСдств

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ содСрТит ΠΎΠ±Ρ‰ΠΈΠ΅ слуТбы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ подходят Π½ΠΈ Π² ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Ρ‚, Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства для расчСта Π²Π°Π»ΡŽΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ вСдСния ΠΆΡƒΡ€Π½Π°Π»Π°. Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ… Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ.

Имя ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠžΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ классы Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ
Π―Π΄Ρ€ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° БизнСс-ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ сущности Книга, Π§Π»Π΅Π½, Π—Π°ΠΉΠΌ Высокая
Π‘Π»ΠΎΠΉ доступа ВзаимодСйствиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ AuthManager, SessionHandler БрСдняя
Доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, DatabaseConnector БрСдняя
Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства ΠžΠ±Ρ‰ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ, рСгистратор Низкий

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ядро Π΄ΠΎΠΌΠ΅Π½Π° являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½Ρ‹ΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ. Если ядро Π΄ΠΎΠΌΠ΅Π½Π° часто мСняСтся, вся систСма становится Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ. Бохраняя Π΅Π³ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ, ΠΌΡ‹ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹Ρ… Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ измСнСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса.

πŸ”— Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ зависимостями ΠΈ интСрфСйсами

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π·Π°Π΄Π°Ρ‡Π° β€” ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚. Π’ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² зависимости ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ стрСлками. НаправлСниС стрСлки ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ зависимости. Если ΠΏΠ°ΠΊΠ΅Ρ‚ А зависит ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π‘, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ А ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π‘.

ΠŸΡ€Π°Π²ΠΈΠ»Π° зависимостСй

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ‡ΠΈΡΡ‚ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° зависимостСй:

  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ зависимости:Зависимости исходного ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π―Π΄Ρ€ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ слоя доступа.
  • НСт Ρ†ΠΈΠΊΠ»ΠΎΠ²:ЦикличСскиС зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΆΠ΄ΡƒΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, Ρ‡Ρ‚ΠΎ затрудняСт ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈΠ»ΠΈ запуск систСмы.
  • Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ интСрфСйсов:ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ интСрфСйсов, Π° Π½Π΅ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ. Π­Ρ‚ΠΎ позволяСт ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ потрСбитСля.

Визуализация ΠΏΠΎΡ‚ΠΎΠΊΠ°

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… Π² сцСнарии Π·Π°ΠΉΠΌΠ°. Π‘Π»ΠΎΠΉ доступа ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ запрос ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Он провСряСт Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² ядрС Π΄ΠΎΠΌΠ΅Π½Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°ΠΉΠΌΠ°. Π―Π΄Ρ€ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° рассчитываСт Π΄Π°Ρ‚Ρƒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ для сохранСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. ΠŸΠΎΡ‚ΠΎΠΊ односторонний: Доступ β†’ Π―Π΄Ρ€ΠΎ β†’ Π”Π°Π½Π½Ρ‹Π΅.

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

πŸ–ΌοΈ Визуализация структуры

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

  • ΠšΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²:Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π§Ρ‘Ρ‚ΠΊΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΡŒΡ‚Π΅ ΠΈΡ….
  • Зависимости:Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ стрСлками для обозначСния зависимостСй.
  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹:Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ Π² Π²ΠΈΠ΄Π΅ Π»Π΅Π΄Π΅Π½Ρ†Π° ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°Ρ‡ΠΎΠΊ для обозначСния экспортируСмых интСрфСйсов.
  • Π“Ρ€ΡƒΠΏΠΏΡ‹:Если Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π²Π»ΠΎΠΆΠΈΡ‚Π΅ ΠΈΡ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ.

РассмотритС взаимосвязь ΠΌΠ΅ΠΆΠ΄ΡƒΠžΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ Π―Π΄Ρ€Ρƒ Π΄ΠΎΠΌΠ΅Π½Π°. ΠŸΠ°ΠΊΠ΅Ρ‚ отчСтности нуТдаСтся Π² Π΄Π°Π½Π½Ρ‹Ρ… для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ статистики. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ядра Π΄ΠΎΠΌΠ΅Π½Π°. Однако ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ это стандартная стрСлка зависимости, Π½ΠΎ сСмантичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ отличаСтся ΠΎΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ зависимости.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ β€” это Π³Ρ€Π°Π½ΠΈΡ†Π°. Π“Ρ€Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ систСмы ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π°ΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°, Π³Π΄Π΅ систСма взаимодСйствуСт с физичСским ΠΌΠΈΡ€ΠΎΠΌ. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ эта Π³Ρ€Π°Π½ΠΈΡ†Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° ΠΈΠ»ΠΈ стиля Ρ€Π°ΠΌΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, Ρ‡Ρ‚ΠΎ измСнСния здСсь Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ….

πŸ’» БтратСгия Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Как эта Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° транслируСтся Π² Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π°? Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² β€” это Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆ структуры Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Π₯отя Ρ€Π°Π·Π½Ρ‹Π΅ языки программирования ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ пространства ΠΈΠΌΠ΅Π½, логичСская Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° остаСтся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ.

Для систСмы Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ структура ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • /src/core/domain – Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Book.java, Member.java
  • /src/core/service – Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ LoanService.java
  • /src/infrastructure/access – Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ApiGateway.java
  • /src/infrastructure/data – Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ BookRepository.java
  • /src/infrastructure/util – Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ DateUtils.java

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

βš™οΈ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

НС каТдая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° идСально помСщаСтся Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚. НСкоторыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ всю систСму. Π˜Ρ… Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π°, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транзакциями.

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

Однако Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΡΠ²Π»ΡΡ‚ΡŒ ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. Если ΠΏΠ°ΠΊΠ΅Ρ‚ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡΡ‚Π°Π½Π΅Ρ‚ слишком большим, ΠΎΠ½ станСт Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ для всСго. Π­Ρ‚ΠΎ извСстно ΠΊΠ°ΠΊ Β«ΠŸΠ°ΠΊΠ΅Ρ‚ Π‘ΠΎΠ³Π°Β». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, раздСляйтС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ бСзопасности. Π”Π΅Ρ€ΠΆΠΈΡ‚Π΅ Π»ΠΎΠ³ΠΈΠΊΡƒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Π»ΠΎΠ³ΠΈΠΊΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. АутСнтификация β€” это ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ (ΠΊΡ‚ΠΎ Π²Ρ‹?). Авторизация β€” это Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ?). Π’ систСмС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ пароля относится ΠΊ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ Ρ‡Π»Π΅Π½ Π²Π·ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, относится ΠΊ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’ΠΈΠΏ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ РасполоТСниС ΠΏΠ°ΠΊΠ΅Ρ‚Π°
АутСнтификация ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° Π‘Π»ΠΎΠΉ доступа
Авторизация ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Основной Π΄ΠΎΠΌΠ΅Π½
Π’Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° Π–ΡƒΡ€Π½Π°Π»Ρ‹ Π°ΡƒΠ΄ΠΈΡ‚Π° Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹
Вранзакция Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ

РаспрСдСляя эти аспСкты, ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚ΠΊΠ°Π·Π°. Если ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ вСдСния ΠΆΡƒΡ€Π½Π°Π»Π° измСнится, это Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ процСсс Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π’ Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ стандартный интСрфСйс для вСдСния ΠΆΡƒΡ€Π½Π°Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.

πŸ”„ Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΡ

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

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

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Если функция устарСла, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ слСдуСт ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. Однако сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ зависимости. Если ΠΏΠ°ΠΊΠ΅Ρ‚ ΠžΡ‚Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ большС Π½Π΅ Π½ΡƒΠΆΠ΅Π½, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ Π½Π΅ зависит, ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ.

⚠️ РаспространСнныС ошибки модСлирования

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ создании Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ΠŸΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅ этих Π»ΠΎΠ²ΡƒΡˆΠ΅ΠΊ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½.

  • Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Π°Ρ абстракция: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ слишком большого количСства ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для нСбольшой систСмы. Если Ρƒ вас всСго 10 классов, Π½Π΅ создавайтС 10 ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΡ… логичСски.
  • НСдостаточная абстракция: Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ всСго Π² ΠΎΠ΄Π½ΠΎΠΌ гигантском ΠΏΠ°ΠΊΠ΅Ρ‚Π΅. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ «спагСтти-ΠΊΠΎΠ΄Π°Β», упомянутой Ρ€Π°Π½Π΅Π΅.
  • ΠŸΡ€Π΅Π½Π΅Π±Ρ€Π΅ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠΈΡΡ‚ΠΎΡΡ‚ΡŒΡŽ: БмСшиваниС ΠΊΠΎΠ΄Π° доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ с бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅. Π­Ρ‚ΠΎ затрудняСт тСстированиС.
  • БтатичСская ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ: ΠžΠΏΠΎΡ€Π° Π½Π° статичСскиС ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ зависимости нСявными, Π° Π½Π΅ явными.
  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ интСрфСйсы: ΠŸΡ€ΡΠΌΠ°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… классов. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ систСму ТСсткой. ВсСгда Π·Π°Π²ΠΈΡΡŒΡ‚Π΅ ΠΎΡ‚ абстракций.

Для систСмы Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ распространСнной ошибкой являСтся Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π—Π°ΠΉΠΌ Π»ΠΎΠ³ΠΈΠΊΠΈ нСпосрСдствСнно Π²Π½ΡƒΡ‚Ρ€ΠΈ Π§Π»Π΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π₯отя ΠΎΠ½ΠΈ связаны, Π—Π°ΠΉΠΌ β€” это транзакция ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π»Π΅Π½ΠΎΠΌ ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π―Π΄Ρ€Π° Π΄ΠΎΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, Π° Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² контСкстС Ρ‡Π»Π΅Π½Π°.

πŸ“ˆ ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ цСнности

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² обСспСчиваСт Ρ‡Π΅Ρ‚ΠΊΠΈΠΉ ΠΏΠ»Π°Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Оно устанавливаСт Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, опрСдСляСт ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ систСма смоТСт Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π±Π΅Π· ΠΎΠ±Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ собствСнной ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ. РаздСляя Π·ΠΎΠ½Ρ‹ отвСтствСнности Π½Π° логичСскиС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π―Π΄Ρ€ΠΎ, Доступ ΠΈ Π”Π°Π½Π½Ρ‹Π΅, ΠΌΡ‹ создаСм систСму, которая Π»Π΅Π³Ρ‡Π΅ понимаСтся, тСстируСтся ΠΈ поддСрТиваСтся.

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

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