@zeri.house:

Zeri House
Zeri House
Open In TikTok:
Region: KE
Tuesday 30 June 2026 13:13:30 GMT
360
53
0
2

Music

Download

Comments

There are no more comments for this video.
To see more videos from user @zeri.house, please go to the Tikwm homepage.

Other Videos

Ты всё еще пишешь гигантские switch и endless цепочки if-else в своем C# коде? Пора с этим заканчивать, пока старший разработчик не пришел на код-ревью с тяжелым предметом! В этом видео я наглядно показал, почему старый добрый подход с проверкой типов через enum и кучу условий — это тикающая бомба замедленного действия. Представь реальную ситуацию из жизни бэкендера. Тебе прилетает задача сделать систему расчета скидок для интернет-магазина. Сначала всё просто: есть обычный покупатель, есть VIP. Ты быстренько набрасываешь enum и пару условий. Всё работает, фича в проде, ты доволен. Но наступает Черная Пятница! Маркетологи прибегают и просят срочно добавить еще скидку для подписчиков, скидку по промокоду и специальную акцию для тех, кто покупает ночью. Ты снова залезаешь в тот же самый класс, дописываешь еще пять ветвей if-else... И вот твой класс расчета стоимости превращается в нечитаемую простыню на 500 строк. В чем тут главная боль? Во-первых, ты жестко нарушаешь главный принцип SOLID — Open/Closed Principle (принцип открытости/закрытости). Твой класс должен быть открыт для расширения, но закрыт для изменения! Каждая новая скидка заставляет тебя менять уже рабочий и протестированный код. Во-вторых, тестировать такую лапшу — это ад. Чтобы проверить логику одной маленькой скидки, тебе приходится прогонять через тесты весь огромный монолитный класс. В-третьих, если над проектом работают несколько человек, вы постоянно будете ловить конфликты слияния в Git в одном и том же файле. Какое решение? Использовать классический паттерн проектирования Стратегия (Strategy)! Как это работает простыми словами? Вместо того чтобы держать все варианты расчетов в одном месте, мы выносим каждый алгоритм скидки в отдельный класс. А чтобы система знала, что все эти классы делают одно и то же, мы объявляем общий интерфейс (например, IDiscountStrategy). Теперь наш основной класс обработки заказов больше вообще ничего не знает о том, как именно считаются проценты! Ему абсолютно всё равно. Он просто принимает любой объект, который реализует наш интерфейс, и вызывает у него метод расчета. Что мы получаем в итоге? Идеальная архитектура: код стал чистым, понятным и элегантным. Полная независимость: нужна новая скидка? Просто создаешь новый файл с новым классом. Старый код ты вообще не трогаешь, а значит, физически не можешь там ничего сломать! Легкое unit-тестирование: каждый вариант логики тестируется изолированно в своем собственном файле. Идеальная дружба с Dependency Injection: ты можете легко подставлять нужную стратегию через встроенный DI-контейнер ASP.NET Core. Паттерн Стратегия — это базовый инструмент, который должен быть в арсенале каждого C# и .NET разработчика. Если ты готовишься к собеседованиям на позиции Junior или Middle, вопросы про этот паттерн и принципы SOLID прилетают почти всегда! Напиши в комментариях, часто ли тебе приходится встречать гигантские switch в рабочих проектах? И какой паттерн проектирования разобрать в следующем ролике? Не забудь поставить лайк, сохранить это видео в закладки, чтобы не потерять перед собесом, и подписаться на канал! Здесь много полезного про C#, .NET, архитектуру и разработку. #csharp #dotnet #программирование #it #разработка #паттерны #паттерныпроектирования #solid #backend #вебразработка #обучениепрограммированию #код #itблог #программист #csharpобучение
Ты всё еще пишешь гигантские switch и endless цепочки if-else в своем C# коде? Пора с этим заканчивать, пока старший разработчик не пришел на код-ревью с тяжелым предметом! В этом видео я наглядно показал, почему старый добрый подход с проверкой типов через enum и кучу условий — это тикающая бомба замедленного действия. Представь реальную ситуацию из жизни бэкендера. Тебе прилетает задача сделать систему расчета скидок для интернет-магазина. Сначала всё просто: есть обычный покупатель, есть VIP. Ты быстренько набрасываешь enum и пару условий. Всё работает, фича в проде, ты доволен. Но наступает Черная Пятница! Маркетологи прибегают и просят срочно добавить еще скидку для подписчиков, скидку по промокоду и специальную акцию для тех, кто покупает ночью. Ты снова залезаешь в тот же самый класс, дописываешь еще пять ветвей if-else... И вот твой класс расчета стоимости превращается в нечитаемую простыню на 500 строк. В чем тут главная боль? Во-первых, ты жестко нарушаешь главный принцип SOLID — Open/Closed Principle (принцип открытости/закрытости). Твой класс должен быть открыт для расширения, но закрыт для изменения! Каждая новая скидка заставляет тебя менять уже рабочий и протестированный код. Во-вторых, тестировать такую лапшу — это ад. Чтобы проверить логику одной маленькой скидки, тебе приходится прогонять через тесты весь огромный монолитный класс. В-третьих, если над проектом работают несколько человек, вы постоянно будете ловить конфликты слияния в Git в одном и том же файле. Какое решение? Использовать классический паттерн проектирования Стратегия (Strategy)! Как это работает простыми словами? Вместо того чтобы держать все варианты расчетов в одном месте, мы выносим каждый алгоритм скидки в отдельный класс. А чтобы система знала, что все эти классы делают одно и то же, мы объявляем общий интерфейс (например, IDiscountStrategy). Теперь наш основной класс обработки заказов больше вообще ничего не знает о том, как именно считаются проценты! Ему абсолютно всё равно. Он просто принимает любой объект, который реализует наш интерфейс, и вызывает у него метод расчета. Что мы получаем в итоге? Идеальная архитектура: код стал чистым, понятным и элегантным. Полная независимость: нужна новая скидка? Просто создаешь новый файл с новым классом. Старый код ты вообще не трогаешь, а значит, физически не можешь там ничего сломать! Легкое unit-тестирование: каждый вариант логики тестируется изолированно в своем собственном файле. Идеальная дружба с Dependency Injection: ты можете легко подставлять нужную стратегию через встроенный DI-контейнер ASP.NET Core. Паттерн Стратегия — это базовый инструмент, который должен быть в арсенале каждого C# и .NET разработчика. Если ты готовишься к собеседованиям на позиции Junior или Middle, вопросы про этот паттерн и принципы SOLID прилетают почти всегда! Напиши в комментариях, часто ли тебе приходится встречать гигантские switch в рабочих проектах? И какой паттерн проектирования разобрать в следующем ролике? Не забудь поставить лайк, сохранить это видео в закладки, чтобы не потерять перед собесом, и подписаться на канал! Здесь много полезного про C#, .NET, архитектуру и разработку. #csharp #dotnet #программирование #it #разработка #паттерны #паттерныпроектирования #solid #backend #вебразработка #обучениепрограммированию #код #itблог #программист #csharpобучение

About