Telegram Web
😴🛠 Паттерн «Состояние»

Паттерн «Состояние» — это поведенческий паттерн проектирования, который позволяет объекту изменять своё поведение в зависимости от текущего состояния. Он помогает избежать большого количества условных операторов и делает код более читаемым, гибким и модульным.

Когда использовать паттерн «Состояние»?
Когда у объекта есть несколько состояний, и его поведение зависит от текущего состояния.
Когда в коде слишком много if-else или switch-case, которые проверяют состояние объекта.
Когда требуется обеспечить легкое добавление новых состояний без изменения существующего кода.

Основные компоненты паттерна
Контекст: класс, который хранит текущее состояние и позволяет его изменять. Обычно предоставляет интерфейс для взаимодействия с клиентом.
Интерфейс состояния: абстрактный или интерфейсный класс, который определяет общие методы, характерные для всех состояний.
Конкретные состояния: реализации интерфейса состояния. Каждое состояние определяет свое поведение, соответствующее текущему состоянию.

Недостатки паттерна
Увеличение числа классов, так как каждое состояние требует отдельной реализации.
Может быть избыточным для простых сценариев.

🤔 Книги для шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
⌨️ Квиз на знание C#

Пройти тестирование — сложно! А ты справишься?
32 вопроса, 40 минут

Проверь себя - пройди квиз и оцени свой уровень навыков, а также свою готовность к обучению на курсе — «C# Developer Professional» от Отус.

⚡️ На курсе ты научишься разрабатывать на C# сложные клиент-серверные приложения, используя паттерны проектирования и возможности CLR (многопоточность, асинхронность, рефлексия, сериализация) и LINQ, и многое другое.

👉 ПРОЙТИ ТЕСТ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
C# 12 in a Nutshell

Автор:
Joseph Albahari
Год издания:
2023

#csharp #en

Скачать книгу
👍3
Задачка: Абсолютная сумма

Возьмите массив целых чисел (положительных или отрицательных, или и тех, и других) и верните сумму абсолютного значения каждого элемента.

Примеры:
getAbsSum([2, -1, 4, 8, 10]) ➞ 25
getAbsSum([2, 4, 6, 8, 10]) ➞ 30
getAbsSum([-1]) ➞ 1

Пишите ваши варианты в комментариях. Ответ будет в канале завтра.

#задача
⌨️ Создание высоконагруженных систем на C#: инструменты и техники

Приглашаем на открытый урок.

🗓 18 марта в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «C# Developer Professional».

На вебинаре:
✔️ Узнаем, как проектировать масштабируемые приложения с использованием современных подходов, таких как микросервисы и event-driven архитектура;
✔️ Рассмотрим Redis: как правильно кешировать данные, использовать Pub/Sub, шардирование и репликацию для повышения производительности;
✔️ Разберем gRPC и HTTP/2: как с их помощью обрабатывать огромное количество запросов с минимальной задержкой;
✔️ А также проведем практическую демонстрацию:
- настройки Redis и реализации кеширования в приложении на C#
- создания gRPC-сервиса для быстрой и надежной коммуникации между компонентами системы.

🔗 Ссылка на регистрацию

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
using System;
using System.Linq;

public class Program
{
public static int getAbsSum(int[] arr)
{
return arr.Select(Math.Abs).Sum();
}
}

#задача #ответ
👍4
⌨️ Квиз на знание C#

Пройти тестирование — сложно! А ты справишься?
32 вопроса, 40 минут

Проверь себя - пройди квиз и оцени свой уровень навыков, а также свою готовность к обучению на курсе — «C# Developer Professional» от Отус.

⚡️ На курсе ты научишься разрабатывать на C# сложные клиент-серверные приложения, используя паттерны проектирования и возможности CLR (многопоточность, асинхронность, рефлексия, сериализация) и LINQ, и многое другое.

👉 ПРОЙТИ ТЕСТ

🎁 Для прошедших тест скидка для обучение на курсе по промокоду C#PRO_03

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21😁1
Задачка: Поменять местами

Напишите функцию, которая принимает строку (имя и фамилию человека) и возвращает строку, в которой имя и фамилия поменяны местами.

Примеры:
NameShuffle("Donald Trump") ➞ "Trump Donald"
NameShuffle("Rosie O'Donnell") ➞ "O'Donnell Rosie"
NameShuffle("Seymour Butts") ➞ "Butts Seymour"

Пишите ваши варианты в комментариях. Ответ будет в канале завтра.

#задача
🤨6👍5🤡2🤯1
using System.Linq;
public class Program
{
public static string NameShuffle(string str)
{
return string.Join(" ", str.Split(' ').Reverse());
}
}

#задача #ответ
🤡10👍2
⚡️Асинхронность без сложных потоков? В C++20 это возможно. Корутины позволяют выполнять задачи параллельно без создания лишних потоков, экономя ресурсы и упрощая код.

На открытом вебинаре 27 марта в 20:00 мск разберём, как co_await и co_yield работают в современных C++-проектах, где применяются в реальных задачах и почему это важно для высоконагруженных систем. Разберём практические примеры из сетевого программирования и обработки данных.

Освойте новую парадигму асинхронности, избавьтесь от проблем с потоками и сделайте свой код проще и быстрее. Вы научитесь внедрять корутины в свои проекты, разберётесь в новшествах C++20/23 и сможете использовать их в продакшене.

👉Регистрируйтесь и получите скидку на большое обучение «C++ Developer. Professional»: https://otus.pw/6OuJ/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Вопрос на засыпку. В чем разница между constant и readonly?

Ответ опубликуем вечером.

Пишите в комментариях ваш вариант!

#questions
🤡8🥰1👏1
Хотите стать C#-разработчиком, но боитесь, что будет сложно?

Подготовьтесь заранее и освойте Git — ключевой инструмент командной разработки!

На открытом вебинаре 31 марта в 20:00 мск разберем:

◽️ Систему контроля версий

◽️ Основные команды

◽️ Принципы работы с репозиториями

◽️ Эти знания помогут вам уверенно работать в команде и подготовиться к следующему этапу.

С Git вы сможете эффективно управлять кодом, вести проекты и двигаться к позиции Junior и Middle.

🔗 Регистрируйтесь на вебинар и 🎁 получите скидку на большое обучение «C# Developer»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🍌2🤡1
В чем разница между constant и readonly?

Ответ:

constant и readonly имеют много общего, но есть некоторые важные различия:

1. constant оценивается во время компиляции, в то время как readonly оценивается во время выполнения.
2. constant поддерживает только переменные типа значения (единственным исключением являются строки), в то время как readonly может содержать переменные ссылочного типа.
3. constant следует использовать, когда значение не меняется во время выполнения, а readonly используется в основном тогда, когда фактическое значение неизвестно до выполнения.
4. readonly может инициализироваться только во время объявления или в конструкторе.

#questions
👍4
☸️Хотите узнать, как деплоить ASP.NET-приложения в Kubernetes?

📅26 марта в 20:00 мск на открытом вебинаре мы разберем:

– PersistentVolume
– ConfigMap
– Secret
– Развернем БД в кластере и обсудим, почему секреты не такие уж секретные.

С Kubernetes ваши ASP.NET Core-приложения станут масштабируемыми и гибкими.

➡️ Регистрируйтесь на вебинар и получите скидку на курс «C# ASP.NET Core-разработчик»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Пусть объявлен кортеж: var tuple = (5, 10). Как обратиться к значению 5?
Anonymous Quiz
25%
tuple[0]
63%
tuple.Item1
7%
tuple.first
5%
tuple.5
🤝 Тормозит карьерный рост? Упираетесь в потолок с текущими навыками на C#? Новые проекты ускользают, а вы застряли на уровне Middle?

Мир IT не стоит на месте, а конкуренты уже изучают передовые подходы и методологии разработки. Без глубоких знаний C# и практики на реальных проектах вы рискуете отстать.

Пора стать тем самым разработчиком, которого компании хантят друг у друга. Нужно только перейти на принципиально новый уровень.

⚡️ Обучение на курсе «C# Developer. Professional» от OTUS»: вас ждут реальные проекты в Scrum-командах, продвинутый уровень работы с C#, освоение SQL и NoSQL, кэширование, Unit-тесты и CI/CD.

👉 Успейте пройти тест и получить скидку

🎁 Начни обучение со скидкой по промокоду C#PRO_03

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Что покажет код, представленный на картинке?
Anonymous Quiz
11%
00
33%
11
31%
12
12%
01
12%
Ошибку
Роадмап для изучения C# с нуля до первой работы?

#мысливслух

C# — универсальный язык, который применяется в разработке игр (Unity), backend-сервисов (ASP.NET), десктопных приложений. Но как его изучить с нуля так, чтобы не застрять в бесконечных курсах, а реально выйти на первую работу?

🔹 1. Освой базовый синтаксис
🟠 Переменные, типы данных, операторы.
🟠 Условные конструкции (if, switch).
🟠 Циклы (for, while).
🟠 Массивы и списки.
🟠 Методы и работа с исключениями.

Лучше сразу писать код, а не просто читать теорию. Можно решать задачи на CodeWars, LeetCode, HackerRank.

🔹 2. Разберись с ООП
C# — объектно-ориентированный язык, поэтому важно понимать инкапсуляцию, наследование, полиморфизм. Освой:
🟠Классы, структуры, интерфейсы.
🟠 Коллекции (List, Dictionary, Queue).
🟠Делегаты и события.

🔹 3. Работа с файлами, потоками и LINQ
C# часто используется для работы с данными, поэтому полезно освоить:
🟠Чтение/запись файлов (StreamReader, StreamWriter).
🟠 Работа с JSON и XML (Newtonsoft.Json).
🟠 LINQ для обработки коллекций.

🔹 4. Изучи базы данных
Работа с БД — обязательный навык для C#-разработчиков. Минимум, который нужно знать:
🟠 SQL (SELECT, JOIN, INSERT, UPDATE, DELETE).
🟠Entity Framework — ORM для работы с базой в C#.
🟠 Настройка подключения к БД (DbContext, Migrations).

🔹 5. Выбери направление
C# применяется в разных областях, поэтому лучше определиться заранее:
🟠GameDev — изучай Unity, MonoBehaviour, Physics, UI Toolkit.
🟠 Backend — учи ASP.NET Core, REST API, JWT, Docker.
🟠Desktop — разберись с WPF, WinForms, MAUI.

🔹 6. Сделай пару пет-проектов
Работодатели хотят видеть, что ты не просто прошел курс, а что-то реально делал:
🟠 API-сервис на ASP.NET Core + Entity Framework.
🟠 Простой 2D-платформер на Unity.
🟠CRUD-приложение для заметок с базой данных.

🔹 7. Готовься к собеседованиям
🟠 Вопросы по C#: принципы ООП, работа с памятью, отличие struct от class.
🟠 Алгоритмы: сортировки, поиск в массивах, работа с рекурсией.
🟠 Практика: решай задачи, пиши код на реальных проектах.

⚡️ Вывод
выучить C# можно, если работать каждый день. Главное — не зацикливаться на теории, а писать реальные проекты

Как вы начали учить C#? В каком направлении хотите развиваться?
Please open Telegram to view this post
VIEW IN TELEGRAM
👌84👍1
Уютное сообщество C# разработчиков - обучающий канал для шарпистов.

Контент канала:
🤸 Трюки языка
💻 Вакансии
Тесты на знание языка
📚 Книги
😛 Юмор

Так же у нас есть отдельная ветка для вакансий для C# разработчиков.

Подписывайтесь, изучайте, качайте. @csharp
2025/07/10 15:53:22
Back to Top
HTML Embed Code: