ViennaNET: ืงื‘ื•ืฆื” ืฉืœ ืกืคืจื™ื•ืช ืขื‘ื•ืจ ื”ืงืฆื” ื”ืื—ื•ืจื™

ืฉืœื•ื ืœื›ื•ืœื!

ืื ื—ื ื• ืงื”ื™ืœื” ืฉืœ ืžืคืชื—ื™ .NET ื‘- Raiffeisenbank ื•ืื ื—ื ื• ืจื•ืฆื™ื ืœื“ื‘ืจ ืขืœ ืงื‘ื•ืฆื” ืฉืœ ืกืคืจื™ื•ืช ืชืฉืชื™ืช ื”ืžื‘ื•ืกืกื•ืช ืขืœ .NET Core ืœื™ืฆื™ืจื” ืžื”ื™ืจื” ืฉืœ ืฉื™ืจื•ืชื™ ืžื™ืงืจื• ืขื ืžืขืจื›ืช ืืงื•ืœื•ื’ื™ืช ืื—ืช. ื”ื ื”ื‘ื™ืื• ืืช ื–ื” ืœืงื•ื“ ืคืชื•ื—!

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 ื”ื’ื™ืข ืืœื™ื ื•, ืฉืฆืคื™ื ื• ื‘ื• ืžืงืจื•ื‘: ืื—ืจื™ ื”ื›ืœ, ื–ื• ื”ื™ื™ืชื” ื”ื–ื“ืžื ื•ืช ืžืฆื•ื™ื ืช ืœื”ืชื—ื™ืœ ืœื”ืชืงื“ื ื”ืœืื” ืœืื•ืจืš ื”ื˜ื›ื ื•ืœื•ื’ื™ื•ืช, ื‘-.Net Core. ื”ืžืฉืžืขื•ืช ื”ื™ื ืฉื ืฆื˜ืจืš ืชืฉืชื™ืช ื—ื“ืฉื” ืœื”ืคืขืœืช ืฉื™ืจื•ืชื™ื: ื—ืœืง ืžื”ืกืคืจื™ื•ืช ืขื‘ืจื• ืž-.Net Framework ืœ-.Net Standard ื•-.Net Core ื›ืžืขื˜ ืœืœื ืฉื™ื ื•ื™ื™ื, ื—ืœืงืŸ ืขื ืฉื™ืคื•ืจื™ื ืงืœื™ื. ืื‘ืœ ื™ื•ืชืจ ืžื›ืœ ืจืฆื™ืชื™ ืœืขื‘ื“ ืžื—ื“ืฉ ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื”ืงืฉื•ืจื” ื‘ื”ืฉืงืช ืฉื™ืจื•ืชื™ื ื‘-AspNet Core.

ื”ื“ื‘ืจ ื”ืจืืฉื•ืŸ ืฉื—ืฉื‘ื ื• ืขืœื™ื• ื”ื™ื” ืงื•ื ืกืคื˜ ืฉื™ืกื™ืจ ืืช ื”ื—ื™ืกืจื•ืŸ ื”ืขื™ืงืจื™ ืฉืœ ื”ื’ืจืกื” ื”ืงื•ื“ืžืช: ื—ื•ืกืจ ื’ืžื™ืฉื•ืช. ืœื›ืŸ, ื”ื•ื—ืœื˜ ืœื”ืคื•ืš ืืช ื›ืœ ืžืขืจื›ืช ื”ืกืคืจื™ื™ื” ืœืขืฆืžืื™ืช ื•ืžื•ื“ื•ืœืจื™ืช ื›ื›ืœ ื”ืืคืฉืจ ื•ืœืืกื•ืฃ ืืช ื”ืฉื™ืจื•ืชื™ื ื”ื“ืจื•ืฉื™ื ืœืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื›ื‘ื ืื™.

ื”ืžื˜ืจื” ื”ืขื™ืงืจื™ืช ื”ื™ื ืœื™ืฆื•ืจ ื’ื™ืฉื” ืžืื•ื—ื“ืช ื”ืžืชืืจืช โ€‹โ€‹ื›ื™ืฆื“ ืœื™ืฆื•ืจ ืื™ื ื˜ืจืืงืฆื™ื” ืขื ืžืกื“ื™ ื ืชื•ื ื™ื, ืื•ื˜ื•ื‘ื•ืกื™ื ื•ืฉื™ืจื•ืชื™ื ืื—ืจื™ื. ื ื™ืกื™ื ื• ืœืขืฉื•ืช ืื™ื ื˜ื’ืจืฆื™ื•ืช ืžื”ื™ืจื•ืช ื•ืœืœื ื›ืื‘ื™ื, ื•ืžืคืชื—ื™ื ื™ื›ืœื• ืœื”ืชืจื›ื– ื‘ื›ืชื™ื‘ืช ื”ื™ื’ื™ื•ืŸ ืขืกืงื™ ื•ืœื ื‘ืชืฉืชื™ืช - ื–ื” ื›ื‘ืจ ืžื•ื›ืŸ. ืžืื’ืจ ืžืฉื•ืชืฃ ืขื•ื–ืจ ืœืฉืคืจ ืืช ื—ื•ื•ื™ื™ืช ื”ืื™ื ื˜ืจืืงืฆื™ื” ื‘ืชื•ืš ืฆื•ื•ืชื™ื: ื›ืืฉืจ ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืชืฉืชื™ื•ืช ืคื ื™ืžื™ื•ืช ื“ื•ืžื•ืช ืžืื•ื“, ืงืœ ื™ื•ืชืจ ืœื”ืฆื˜ืจืฃ ืœืชื”ืœื™ืš ื”ืคื™ืชื•ื— ืฉืœ ืฆื•ื•ืช ืื—ืจ ื•ืœื”ื—ืœื™ืฃ ืžื•ืžื—ื™ื•ืช.

ื•ืœืžื” ืื ื—ื ื• ืฆืจื™ื›ื™ื ืงื•ื“ ืคืชื•ื—?

ืื ื—ื ื• ืจื•ืฆื™ื ืœื”ืจืื•ืช ืืช ื”ื‘ืฉืœื•ืช ืฉืœ ื”ืžื•ืžื—ื™ื•ืช ืฉืœื ื• ื•ืœืงื‘ืœ ืžืฉื•ื‘ ืื™ื›ื•ืชื™: ืื“ื ืžื—ื•ืฅ ืœื‘ื ืง ื™ื•ื›ืœ ืœื”ื‘ื™ื ืžืฉื”ื• ืžืขืฆืžื•. ืื ื• ืžืขื•ื ื™ื™ื ื™ื ื’ื ื‘ืคื™ืชื•ื— ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืขื ืžื™ืงืจื•-ืฉื™ืจื•ืชื™ื ื•-DDD ื‘-.NET ื‘ืชืขืฉื™ื™ื”; ืื•ืœื™ ืžื™ืฉื”ื• ื™ืจืฆื” ืœื”ืฉืชืœื˜ ืขืœ ื—ืœืงื™ื ืžืกื•ื™ืžื™ื ืฉืœ ื”ืžืกื’ืจืช.

ืœืžืขืฉื”, ViennaNET

ืขื›ืฉื™ื• ื‘ื•ืื• ื ืกืชื›ืœ ืžืงืจื•ื‘. ืงื•ื“ ื”ืžืงื•ืจ ื”ืžืœื ืคื•ืจืกื ื›ืืŸ.

ViennaNET.WebApi.*

ืงื‘ื•ืฆืช ืกืคืจื™ื•ืช ื–ื• ืžื•ืจื›ื‘ืช ืžื”-"ืฉื•ืจืฉ" ViennaNET.WebApi, ื”ืžื›ื™ืœื” ืืช ืžื—ืœืงืช ื”-Builder ืขื‘ื•ืจ ืฉื™ืจื•ืช CompanyHostBuilder, ื•ืžืขืจื›ืช ืงื•ืคื™ื’ื•ืจื˜ื•ืจื™ื ViennaNET.WebApi.Configurators.*, ืฉื›ืœ ืื—ืช ืžื”ืŸ ืžืืคืฉืจืช ืœืš ืœื”ื•ืกื™ืฃ ื•ืœื”ื’ื“ื™ืจ ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืžืกื•ื™ืžืช ืœืงื•ื‘ืฅ ืฉื ื•ืฆืจ. ืฉืึตืจื•ึผืช. ื‘ื™ืŸ ื”ืงื•ื ืคื™ื’ื•ืจื˜ื•ืจื™ื ื ื™ืชืŸ ืœืžืฆื•ื ื—ื™ื‘ื•ืจื™ื ืœืจื™ืฉื•ื, ื“ื™ืื’ื ื•ืกื˜ื™ืงื”, ืกื•ื’ื™ ืื™ืžื•ืช ื•ื”ืจืฉืื•ืช, ืกื•ื•ื™ืฅ' ื•ื›ื•'.

ViennaNET.WebApi.Runners.* ืžื›ื™ืœ ื’ื ื‘ื•ื ื™ ืฉื™ืจื•ืชื™ื ืžื•ื’ื“ืจื™ื ืžืจืืฉ. ื—ื‘ื™ืœื•ืช ืืœื• ืžืืคืฉืจื•ืช ืœืš ืœื ืœื–ื›ื•ืจ ื‘ื›ืœ ืคืขื ืฉืืชื” ื™ื•ืฆืจ ืฉื™ืจื•ืช ื—ื“ืฉ ืื™ืœื• ืงื•ื ืคื™ื’ื•ืจื˜ื•ืจื™ื ืฆืจื™ื›ื™ื ืœื”ื™ื•ืช ืžื—ื•ื‘ืจื™ื. ืขื ื–ืืช, ื”ื ืื™ื ื ืžื’ื‘ื™ืœื™ื ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ื‘ื•ื ื” ื”ืฉื™ืจื•ืชื™ื ื‘ืฉื•ื ืฆื•ืจื”.

ViennaNET.Mediator.*

ืกืคืจื™ื•ืช ื”ืžืืคืฉืจื•ืช ืœื™ืฆื•ืจ ืืคื™ืง ืžืชื•ื•ืš ืคื ื™ืžื™ ืœืคืงื•ื“ื•ืช ื•ื‘ืงืฉื•ืช ื‘ืชื•ืš ืฉื™ืจื•ืช. ื’ื™ืฉื” ื–ื• ืžืืคืฉืจืช ืœืš ืœืฆืžืฆื ืืช ืžืกืคืจ ื”ื–ืจืงื•ืช DI ืœืื—ืช, ืœืžืฉืœ, ื‘ื‘ืงืจื™ื. ื‘ืฉืœ ื›ืš, ื ื™ืชืŸ ืœื”ื•ืกื™ืฃ ืขื™ืฆื•ื‘ื™ื ืฉื•ื ื™ื ืœื‘ืงืฉื•ืช, ืžื” ืฉืžืื—ื“ ืืช ื”ืขื™ื‘ื•ื“ ืฉืœื”ืŸ ื•ืžืคื—ื™ืช ืืช ื›ืžื•ืช ื”ืงื•ื“.

ViennaNET.Validation

ืžื›ืœื•ืœ ื”ืžื›ื™ืœ ืงื‘ื•ืฆื” ืฉืœ ืžื—ืœืงื•ืช ืœื™ืฆื™ืจืช ื—ื•ืงื™ ืื™ืžื•ืช ื•ืจืฆืคื™ื ืžื”ื. ื–ื” ืžืื•ื“ ื ื•ื— ืœื™ื™ืฉื•ื ืื™ืžื•ืช ืชื—ื•ื, ืฉื›ืŸ ื”ื•ื ืžืืคืฉืจ ืœืชืืจ ื›ืœ ืžืฆื‘ ืขืกืงื™ ื‘ืฆื•ืจื” ืฉืœ ื›ืœืœ ืคืฉื•ื˜ ื•ื ืคืจื“.

ViennaNET.Redis

ืกืคืจื™ื™ื” ืขื ืขื˜ื™ืคื•ืช ืœืขื‘ื•ื“ื” ื ื•ื—ื” ืขื Redis ื›ืžื˜ืžื•ืŸ ื‘ื–ื™ื›ืจื•ืŸ.

ViennaNET.ืžืคืจื˜ื™ื

ืžื›ืœื•ืœ ื”ืžื›ื™ืœ ืžื—ืœืงื•ืช ื”ืžื™ื™ืฉืžื•ืช ืืช ื“ืคื•ืก ื”ืžืคืจื˜.

ื–ื” ืœื ื›ืœ ืžื” ืฉื™ืฉ ื‘ืกื˜ ืฉืœื ื•. ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืืช ื”ืฉืืจ ื‘ืžืื’ืจ GitHub. ืื ื• ืžืชื›ื ื ื™ื ืœืฉื—ืจืจ ื‘ืงืจื•ื‘ ืืช ื”ืกืคืจื™ื•ืช ืฉืœื ื• ืœืขื‘ื•ื“ื” ืขื ืžืกื“ื™ ื ืชื•ื ื™ื ืœ-OpenSource.

ืชื•ื“ื” ืขืœ ืชืฉื•ืžืช ื”ืœื‘ ืฉืœืš, ืื ื• ืžืฆืคื™ื ืœื”ืขืจื•ืช ืฉืœืš ื•ืœื‘ืงืฉื•ืช ืœืžืฉื•ืš.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”