Блог C# | OTUS
Посты
Функциональный C#. Обработка исключений

otus_Posts_18may_VK_1000x700_2-20219-3738fa.jpg

Многим из нас известна концепция проверки и обработки исключений, однако код, нужный для её реализации, иногда действительно раздражает. Особенно, если мы программируем на C#. Следующая статья написана с учётом концепции Railway Oriented Programming, которую представил в своей презентации Scott Wlaschin.

Функциональный C#. Неизменяемые объекты

Csharp_Deep_12.5-5020-759d8b.png

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

Пишем RESTful веб-сервис на ASP.NET

Asp_net_Deep_29.4-5020-fb163d.png

Как известно, веб-сервисы можно создавать на разных языках. Давайте напишем REST-приложение, используя .NET и Visual Studio. Результат — веб-сервис, работающий со следующим набором данных «туториалов»:

Агрегаты в Domain-Driven-Design и C#

CSharp_Deep_17.2-5020-29c0ae.png

В этой статье хотелось бы рассказать о таком понятии, как агрегат в Domain- Driven-Design (DDD), а именно о его преимуществах в контексте транзакционности изменений и группировки бизнес-логики. Пожалуй, из всех так называемых тактических шаблонов в DDD этот часто является самым важным и трудным для понимания. Об агрегатах имеет смысл поговорить, упомянув также шаблон репозиторий.

Анализ быстродействия типовых операций языка C#. Часть 2

Csharp_Deep_27.1_5020_58b53d-5020-58b53d.png

Продолжаем разговор об анализе быстродействия типовых операций языка C# на платформах DOT.NET и Mono. В первой части статьи мы подробно поговорили о методологии и реализации тестового окружения. Сейчас пришло время приступать к измерениям.

Анализ быстродействия типовых операций языка C#. Часть 1

Csharp_Deep_27.1-5020-58b53d.png

Статья посвящена изучению быстродействия часто используемых функций стандартных классов языка C# в разных окружениях, таких как WPF, Windows forms, Unity и ASP.NET. Реализован асинхронный механизм инструментальной оценки быстродействия участков кода. Рассмотрены несколько версий фреймворка, включая Mono, Core и традиционный .NET Framework, чтобы выявить разницу в скорости выполнения тех или иных функциональных возможностей платформ.

Оптимизируем физику в Unity: слои и матрица коллизий

Unity_Deep_15.1-5020-014f91.png

Как правило, игровые объекты в Unity создают на слое Default. В результате всё со всем сталкивается, что не есть хорошо. Но разработчик может обозначить, что и с чем должно взаимодействовать.

Используем профайлер в Unity: практические советы

Unity_Deep_27.12-5020-4b810c.png

Такой инструмент, как Unity-профайлер, облегчает оптимизацию игры и предоставляет конкретные данные о её производительности. Вы можете получить покадровые показатели, посредством которых выявить проблемные места гораздо легче. Кроме того, профайлер предоставляет информацию об игровой производительности вне редактора.

Элегантный и практичный yield

Csharp_Deep_30.9-5020-637bc4.png

Начинающие программисты при работе с коллекциями часто не придают значения оптимизации производительности (например, при работе с БД). Допустим, программист хочет реализовать функцию, возвращающую список сотрудников с оформленными ими заказами. В дальнейшем эту функцию будут использовать для отображения на внутреннем портале организации. Он делает это так:

Популярное
Сегодня тут пусто