TGViewer
C# (C Sharp) programming C# (C Sharp) programming @csharp_ci · 18.1K subscribers
Post #1448 5.04K
🎯 Design pattern, который должен знать каждый — Decorator

Один из самых гибких и мощных паттернов — особенно в мире .NET и DI.

▪ Что это такое?
Decorator позволяет обернуть реализацию сервиса в дополнительное поведение — например, логгирование, кэширование или retry-механику — без изменения исходного кода.

▪ Как применить на практике?
В .NET это особенно удобно с библиотекой Scrutor — она расширяет встроенный DI-контейнер и позволяет добавлять декораторы в одну строчку.

Пример:

services.Decorate<IService, LoggingDecorator>();


Зачем это нужно?
— логгировать вызовы без лома архитектуры
— централизованно обрабатывать ошибки
— добавить метрики без влезания в бизнес-логику

📌 Подробнее
More from @csharp_ci
  1. Oct 6, 2026🛠 Вышел Microsoft.Data.SqlClient 7.1.1 Обновление .NET-драйвера для SQL Server исправляет…
  2. Oct 5, 2026Одна задача, три языка: Rust, C# или C++? В курсе Google *Comprehensive Rust* есть упражне…
  3. Oct 5, 2026🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собес…
  4. Oct 4, 2026🖥 .NET 10 научился класть объекты на стек: escape analysis в JIT Одна из самых полезных о…
  5. Oct 3, 2026Самый неожиданный кандидат на звание самого быстрого JSON-сериализатора для .NET сейчас де…
  6. Oct 2, 2026Post #1891
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →