ViennaNET: Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° Π±Π΅ΠΊΠ΅Π½Π΄Π°

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅ Π½Π° всички!

НиС смС общност ΠΎΡ‚ .NET Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π² Π Π°ΠΉΡ„Π°ΠΉΠ·Π΅Π½Π±Π°Π½ΠΊ ΠΈ искамС Π΄Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ инфраструктурни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° .NET Core Π·Π° Π±ΡŠΡ€Π·ΠΎ създаванС Π½Π° микроуслуги с Π΅Π΄ΠΈΠ½Π½Π° СкосистСма. Π”ΠΎΠ²Π΅Π΄ΠΎΡ…Π° Π³ΠΎ Π΄ΠΎ Open Source!

ViennaNET: Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° Π±Π΅ΠΊΠ΅Π½Π΄Π°

Малко история

Имало Π΅Π΄Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈΠΌΠ°Ρ…ΠΌΠ΅ голям ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ постСпСнно сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π° Π² Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ микроуслуги (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π·Π° характСристикитС Π½Π° Ρ‚ΠΎΠ·ΠΈ процСс Π² Ρ‚Π°Π·ΠΈ статия). Π’ процСса сС ΡΠ±Π»ΡŠΡΠΊΠ°Ρ…ΠΌΠ΅ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‡Π΅ ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ микроуслуги чСсто сС налагашС Π΄Π° ΠΊΠΎΠΏΠΈΡ€Π°ΠΌΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ инфраструктурни Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ – ΠΊΠ°Ρ‚ΠΎ настройка Π½Π° Π»ΠΎΠ³Π²Π°Π½Π΅, Ρ€Π°Π±ΠΎΡ‚Π° с Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, WCF ΠΈ Π΄Ρ€. Π•Π΄ΠΈΠ½ Π΅ΠΊΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Π΅ΡˆΠ΅ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ всички Π²Π΅Ρ‡Π΅ бяха свикнали с някакъв установСн ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с инфраструктурата. Π—Π°Ρ‚ΠΎΠ²Π° ΠΎΡ‚Π΄Π΅Π»ΠΈΡ…ΠΌΠ΅ общия ΠΊΠΎΠ΄ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Ρ…ΠΌΠ΅ ΡΡŠΠ±Ρ€Π°Π½ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π½Π° Nuget ΠΈ Π³ΠΈ поставихмС Π² Π½Π°ΡˆΠ΅Ρ‚ΠΎ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° Nuget.

Π’Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ минавашС, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ постСпСнно сС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° ΠΈ имашС ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π΄Π° сС ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ Π½ΠΎΠ²ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΡ‚ страна Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π²ΡŠΡ€Ρ…Ρƒ ΠΌΠΎΠ΄Π΅Ρ€Π½Π° JS Ρ€Π°ΠΌΠΊΠ° ΠΈ Π΄Π° сС стартират Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π°. Π—Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΎΡ‚ WCF/SOAP към REST/HTTP, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΈΠΌΠ°Ρ…ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π½ΠΎΠ²ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° Π±ΡŠΡ€Π·ΠΎ стартиранС Π½Π° услуги, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° AspNet WebApi. ΠŸΡŠΡ€Π²Π°Ρ‚Π° вСрсия Π½Π° .Net Framework 4.5 бСшС Π½Π°ΠΏΡ€Π°Π²Π΅Π½Π° ΠΎΡ‚ нашия Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° ΠΊΠΎΠ»Π΅Π½Π΅ Π² свободното ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅, Π½ΠΎ извън кутията Π½Π°ΠΏΡ€Π°Π²ΠΈ възмоТно стартиранСто Π½Π° услуга с Ρ‚Ρ€ΠΈ Ρ€Π΅Π΄Π° Π² Program.cs, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ…Π° оторизация (NTLM), рСгистриранС, Swagger, IoC/DI Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Castle Windsor, пСрсонализирани HTTP ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π·Π°Π³Π»Π°Π²ΠΊΠΈ, Π·Π° Π΄Π° осигурят рСгистриранС ΠΎΡ‚ ΠΊΡ€Π°ΠΉ Π΄ΠΎ ΠΊΡ€Π°ΠΉ Π² цСлия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. И цялото Ρ‚ΠΎΠ²Π° Π½Π΅Ρ‰ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² конфигурационния Ρ„Π°ΠΉΠ» Π½Π° услугата.

НС всичко ΠΎΠ±Π°Ρ‡Π΅ бСшС Π³Π»Π°Π΄ΠΊΠΎ: Ρ‚Π°Π·ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° сС ΠΎΠΊΠ°Π·Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ нСгъвкава ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. НапримСр, Π°ΠΊΠΎ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ някакъв спСциалСн ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ софтуСр, Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Π½ΠΎΠ² сбор ΠΈ Π΄Π° наслСдитС ΠΎΡ‚ базовия клас, ΠΊΠΎΠΉΡ‚ΠΎ изпълнява услугата, ΠΊΠΎΠ΅Ρ‚ΠΎ бСшС ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Π—Π° щастиС нямашС ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΈΠ²Π° случаи.

Π•Ρ€Π°Ρ‚Π° Π½Π° Docker ΠΈ Kubernetes

Π”ΠΎΠΉΠ΄Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²ΡŠΠ»Π½Π°Ρ‚Π° ΠΎΡ‚ Docker ΠΈ Kubernetes достигна Π΄ΠΎ нас, която Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ…ΠΌΠ΅ ΠΎΡ‚Π±Π»ΠΈΠ·ΠΎ: Π² края Π½Π° ΠΊΡ€Π°ΠΈΡ‰Π°Ρ‚Π° Ρ‚ΠΎΠ²Π° бСшС страхотСн шанс Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Π΄Π° сС Π΄Π²ΠΈΠΆΠΈΠΌ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ ΠΏΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡ‚Π΅, Π² .Net Core. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Ρ‰Π΅ сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ‚ Π½ΠΎΠ²Π° инфраструктура Π·Π° изпълнСниС Π½Π° услуги: някои Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ са ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π»ΠΈ ΠΎΡ‚ .Net Framework към .Net Standard ΠΈ .Net Core практичСски Π±Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, някои с Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ подобрСния. Но Π½Π°ΠΉ-Π²Π΅Ρ‡Π΅ исках Π΄Π° прСработя функционалността, ΡΠ²ΡŠΡ€Π·Π°Π½Π° със стартиранСто Π½Π° услуги Π½Π° AspNet Core.

ΠŸΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π΅Ρ‰ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ обмислихмС, бСшС концСпция, която Ρ‰Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ основния Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° вСрсия: липсата Π½Π° Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚. Π—Π°Ρ‚ΠΎΠ²Π° бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ цялата Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Π° систСма възмоТно Π½Π°ΠΉ-нСзависима ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π½Π° ΠΈ Π΄Π° ΡΡŠΠ±Π΅Ρ€Π΅ услугитС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° функционалност ΠΊΠ°Ρ‚ΠΎ конструктор.

ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° Ρ†Π΅Π» Π΅ Π΄Π° сС създадС Π΅Π΄ΠΈΠ½Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ описва ΠΊΠ°ΠΊ Π΄Π° взаимодСйстватС с Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, автобуси ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ услуги. ΠžΠΏΠΈΡ‚Π°Ρ…ΠΌΠ΅ сС Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π±ΡŠΡ€Π·ΠΈ ΠΈ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½ΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ…Π° Π΄Π° сС ΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€Π°Ρ‚ Π²ΡŠΡ€Ρ…Ρƒ писанСто Π½Π° бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°, Π° Π½Π΅ Π²ΡŠΡ€Ρ…Ρƒ инфраструктура - тя Π²Π΅Ρ‡Π΅ Π΅ Π³ΠΎΡ‚ΠΎΠ²Π°. ΠžΠ±Ρ‰ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ спомага Π·Π° подобряванС Π½Π° изТивяванСто ΠΏΡ€ΠΈ взаимодСйствиС Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅ΠΊΠΈΠΏΠΈ: ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ сходни Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ инфраструктури, Π΅ ΠΏΠΎ-лСсно Π΄Π° сС ΠΏΡ€ΠΈΡΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ към процСса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Ρ€ΡƒΠ³ Π΅ΠΊΠΈΠΏ ΠΈ Π΄Π° ΠΎΠ±ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΎΠΏΠΈΡ‚.

И Π·Π°Ρ‰ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄?

ИскамС Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ зрСлостта Π½Π° нашия ΠΎΠΏΠΈΡ‚ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ висококачСствСна ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°: Ρ‡ΠΎΠ²Π΅ΠΊ извън Π±Π°Π½ΠΊΠ°Ρ‚Π° Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° донСсС Π½Π΅Ρ‰ΠΎ ΠΎΡ‚ сСбС си. НиС ΡΡŠΡ‰ΠΎ сС интСрСсувамС ΠΎΡ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с микроуслуги ΠΈ DDD Π½Π° .NET Π² индустрията, ΠΌΠΎΠΆΠ΅ Π±ΠΈ някой Ρ‰Π΅ иска Π΄Π° ΠΏΠΎΠ΅ΠΌΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ части ΠΎΡ‚ Ρ€Π°ΠΌΠΊΠ°Ρ‚Π°.

Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ ViennaNET

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΠΏΠΎ-ΠΎΡ‚Π±Π»ΠΈΠ·ΠΎ. ΠŸΡŠΠ»Π½ΠΈΡΡ‚ ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄ Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ Ρ‚ΡƒΠΊ.

ViennaNET.WebApi.*

Π’ΠΎΠ·ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ β€žΠΎΡΠ½ΠΎΠ²Π½ΠΈΡβ€œ ViennaNET.WebApi, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ класа Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° услугата CompanyHostBuilder, ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ΠΈ ViennaNET.WebApi.Configurators.*, всСки ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΈ позволява Π΄Π° добавятС ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ някои Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ към създадСния обслуТванС. Π‘Ρ€Π΅Π΄ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ Π·Π° рСгистриранС, диагностика, Ρ‚ΠΈΠΏΠΎΠ²Π΅ удостовСряванС ΠΈ оторизация, swagger ΠΈ Π΄Ρ€.

ViennaNET.WebApi.Runners.* ΡΡŠΡ‰ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ Π½Π° услуги. Π’Π΅Π·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π²ΠΈ позволяват Π΄Π° Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ всСки ΠΏΡŠΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Π½ΠΎΠ²Π° услуга, ΠΊΠΎΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ΠΈ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ. Π’Π΅ ΠΎΠ±Π°Ρ‡Π΅ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Ρ‚ ΠΏΠΎ никакъв Π½Π°Ρ‡ΠΈΠ½ функционалността Π½Π° ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»Ρ Π½Π° услуги.

ViennaNET.Mediator.*

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΈ позволяват Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½Π° шина Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ заявки Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° услуга. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²ΠΈ позволява Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡ‚Π΅ броя Π½Π° DI ΠΈΠ½ΠΆΠ΅ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π΄ΠΎ Π΅Π΄Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° добавятС Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈ към заявкитС, ΠΊΠΎΠ΅Ρ‚ΠΎ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° тяхната ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ намалява количСството ΠΊΠΎΠ΄.

ViennaNET.Π’Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅

Π‘Π³Π»ΠΎΠ±ΠΊΠ°, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ класовС Π·Π° създаванС Π½Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Ρ‰ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ послСдоватСлности ΠΎΡ‚ тях. Π’ΠΎΠΉ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π΅Π½ Π·Π° внСдряванС Π½Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΎΠΏΠΈΡˆΠ΅Ρ‚Π΅ всяко бизнСс условиС ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° просто ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ.

ViennaNET.Redis

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π·Π° ΡƒΠ΄ΠΎΠ±Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с Redis ΠΊΠ°Ρ‚ΠΎ кСш Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°.

ViennaNET.Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

БглобяванС, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΎ класовС, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‚ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° спСцификацията.

Π’ΠΎΠ²Π° Π½Π΅ Π΅ всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π² нашия ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ останалото Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° GitHub. ΠŸΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ скоро Π΄Π° пуснСм Π½Π°ΡˆΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² OpenSource.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ Π²ΠΈ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΎΡ‡Π°ΠΊΠ²Π°ΠΌΠ΅ Π²Π°ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ ΠΈ заявки Π·Π° изтСглянС.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€