Обширная статья о лечении зависимостей в .Net: https://proglib.io/w/d07eb757
Хабр
.NET: Лечение зависимостей
Кто не сталкивался с проблемами из-за assembly redirect? Скорее всего все, кто разрабатывал относительно большое приложение, рано или поздно с этой проблемой столкнется. Сейчас я работаю в...
Займи своё место в игровой индустрии! Познакомься с Unity — дружественным игровым движком, который позволяет создавать как простые 2D-, так и сложные 3D-игры.
Регистрируйся на бесплатный интенсив: ▶️ https://clc.to/SVYylA.
🚀 Спикер интенсива — Михаил Овчинников, методист Skillbox, 12 лет в разработке. Под его руководством ты создашь свою игру, даже если никогда раньше не программировал.
Тебя ждут 3 онлайн-эфира и домашние задания, чтобы закрепить результат.
Каждый сможет задать вопросы преподавателю и пообщаться с другими участниками интенсива в закрытом чате в Telegram.
🎮 В результате ты получишь отличную базу для старта в геймдеве и достойный проект, который станет частью твоего портфолио!
Регистрируйся на бесплатный интенсив: ▶️ https://clc.to/SVYylA.
🚀 Спикер интенсива — Михаил Овчинников, методист Skillbox, 12 лет в разработке. Под его руководством ты создашь свою игру, даже если никогда раньше не программировал.
Тебя ждут 3 онлайн-эфира и домашние задания, чтобы закрепить результат.
Каждый сможет задать вопросы преподавателю и пообщаться с другими участниками интенсива в закрытом чате в Telegram.
🎮 В результате ты получишь отличную базу для старта в геймдеве и достойный проект, который станет частью твоего портфолио!
Практические советы, связанные с правильным хранением даты и времени при разработке на C#: https://proglib.io/w/578a9678
Серия видеоматериалов по C# Unity3D для начинающих: https://proglib.io/w/d9c185bf
YouTube
C# Unity3D Beginner Tutorials - YouTube
Вы пишите ПО для сферы строительства. Вначале хотите построить панельный дом и выбрать нужного подрядчика. Затем хотите построить деревянный дом, для чего также необходимо выбрать подрядчика. Выше представлен пример реализации с помомощью паттерна ...
Anonymous Quiz
39%
Абстрактная фабрика (Abstract Factory)
32%
Фабричный метод (Factory Method)
17%
Строитель (Builder)
3%
Нет правильного ответа
10%
Посмотреть результаты
Речь идет о паттерне Фабричный метод (Factory Method), который представляет из себя пораждающий паттерн проектирования, определяющий интерфейс для создания объектов некоторого класса, но непосредственное решение о том, объект какого класса создавать, происходит в подклассах. То есть паттерн предполагает, что базовый класс делегирует создание объектов классам-наследникам.
В примере в качестве абстрактного класса
В качестве абстрактного класса создателя выступает
Если в будущем нам потребуется построить дома какого-то другого типа, например, кирпичные, то мы можем с легкостью создать новый класс кирпичных домов, унаследованный от
Таким образом, система получится легко расширяемой. Правда, недостатки паттерна тоже очевидны — для каждого нового продукта необходимо создавать свой класс.
В примере в качестве абстрактного класса
Product
выступает класс House
. Его две конкретные реализации — PanelHouse
и WoodHouse
представляют типы домов, которые будут строить подрядчики. В качестве абстрактного класса создателя выступает
Developer
, определяющий абстрактный метод Create()
. Этот метод реализуется в классах-наследниках WoodDeveloper
и PanelDeveloper
. Если в будущем нам потребуется построить дома какого-то другого типа, например, кирпичные, то мы можем с легкостью создать новый класс кирпичных домов, унаследованный от
House
, и определить класс соответствующего подрядчика. Таким образом, система получится легко расширяемой. Правда, недостатки паттерна тоже очевидны — для каждого нового продукта необходимо создавать свой класс.
Подборка полезных ссылок, инструментов, проектов и многого другого по фреймворку Blazor в одном месте: https://proglib.io/w/7a2777c6
GitHub
GitHub - AdrienTorris/awesome-blazor: Resources for Blazor, a .NET web framework using C#/Razor and HTML that runs in the browser…
Resources for Blazor, a .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly. - GitHub - AdrienTorris/awesome-blazor: Resources for Blazor, a .NET web framework usin...
Качественный материал о switch-выражениях с использованием сопоставления с образцом: https://proglib.io/w/2c20b823
the-drizzle
C# 8 Switch Expressions with Pattern Matching
Drake’s blog
Мнение Джона Скита о .NET в 2020-м году: https://proglib.io/w/1803a2f1
Хабр
Джон Скит о .NET в 2020-м: «Моё главное нарекание — версионирование»
Представлять Джона Скита особо не требуется: самый известный пользователь Stack Overflow (с кармой более миллиона), автор книги «C# in Depth», создатель библиотеки Noda Time и вообще человек,...
👍1
YARP — высокопроизводительный обратный прокси-сервер. Может служить механизмом балансировки нагрузки приложений / перезаписи правил, построенном как промежуточное программное обеспечение ASP.NET Core.
Ключевым отличием YARP является то, что его можно быстро и легко настраивать в соответствии с конкретными потребностями каждого сценария развертывания.
Preview 1
GitHub
Ключевым отличием YARP является то, что его можно быстро и легко настраивать в соответствии с конкретными потребностями каждого сценария развертывания.
Preview 1
GitHub
Microsoft News
Introducing YARP Preview 1
YARP is a reverse proxy toolkit for building fast proxy servers in .NET using the infrastructure from ASP.NET and .NET.
Хочешь освоить интересную и современную профессию? Попробуй себя в геймдизайне! Научись создавать игровые миры с собственными законами и правилами, разрабатывать концепты своих идей и эффектно их презентовать.
Как это сделать, поговорим на бесплатном онлайн-интенсиве.
Регистрируйся по ссылке: ▶️ https://clc.to/G7J7oA.
Спикеры интенсива:
💣 Николай Дыбовский, руководитель студии Ice-Pick Lodge. 20 лет опыта в геймдизайне. Создатель игр «Мор», «Тургор», «Мор 2».
💣 Дмитрий Веснин, преподаватель курса по геймдизайну в Институте бизнеса и дизайна и курса по сторителлингу в интерактивных медиа в НИУ ВШЭ, куратор раздела «Игры и будущее» на 2×2.
Участников интенсива ждут подарки — 5 доступов к игре «Мор» (Pathologic 2) от компании Ice-Pick Lodge!
Как это сделать, поговорим на бесплатном онлайн-интенсиве.
Регистрируйся по ссылке: ▶️ https://clc.to/G7J7oA.
⚡️
Познакомишься с ключевыми составляющими геймдизайна.⚡️
На практике освоишь приёмы и основные механики.⚡️
Научишься описывать свои идеи в реальные игровые концепты.⚡️
Примешь участие в обсуждении живых примеров из игровой индустрии.⚡️
Разработаешь собственный игровой сценарий.Спикеры интенсива:
💣 Николай Дыбовский, руководитель студии Ice-Pick Lodge. 20 лет опыта в геймдизайне. Создатель игр «Мор», «Тургор», «Мор 2».
💣 Дмитрий Веснин, преподаватель курса по геймдизайну в Институте бизнеса и дизайна и курса по сторителлингу в интерактивных медиа в НИУ ВШЭ, куратор раздела «Игры и будущее» на 2×2.
Участников интенсива ждут подарки — 5 доступов к игре «Мор» (Pathologic 2) от компании Ice-Pick Lodge!
Addison_wesley_Microsoft_Technology_Krzysztof_Cwalina,_Jeremy_Barton.epub
37 MB
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .Net Libraries (3 ed., 2020)
Автор(ы): Krzysztof Cwalina, Jeremy Barton, Brad Abrams
Третье издание было полностью пересмотрено, чтобы отразить изменения в дизайне API, внесенные компанией Microsoft, поэтому данная книга представляет собой своего рода руководство по новым концепциям .NET и C#, включая основные достижения в асинхронном программировании, облегченный доступ к памяти и распределение общих компонентов.
Вы изучите общую философию, принципы современного дизайна и общие шаблоны проектирования на современных примерах C#; научитесь применять лучшие практики для именования, типов, расширяемости и исключений, а также те практики, которые не рекомендуются использовать; освоите новые методы асинхронного программирования.
Книга является незаменимым ресурсом для всех, кто создает многократно используемые платформы, библиотеки или компоненты на основе .NET любого масштаба.
Автор(ы): Krzysztof Cwalina, Jeremy Barton, Brad Abrams
Третье издание было полностью пересмотрено, чтобы отразить изменения в дизайне API, внесенные компанией Microsoft, поэтому данная книга представляет собой своего рода руководство по новым концепциям .NET и C#, включая основные достижения в асинхронном программировании, облегченный доступ к памяти и распределение общих компонентов.
Вы изучите общую философию, принципы современного дизайна и общие шаблоны проектирования на современных примерах C#; научитесь применять лучшие практики для именования, типов, расширяемости и исключений, а также те практики, которые не рекомендуются использовать; освоите новые методы асинхронного программирования.
Книга является незаменимым ресурсом для всех, кто создает многократно используемые платформы, библиотеки или компоненты на основе .NET любого масштаба.
Построение моделей с помощью ML.NET завезли в Visual Studio: https://proglib.io/w/a71af4cc
.NET Blog
ML.NET Model Builder is now a part of Visual Studio
ML.NET is a cross-platform, machine learning framework for .NET developers. Model Builder is the UI tooling in Visual Studio that uses Automated Machine Learning (AutoML) to train and consume custom ML.NET models in your .NET apps. You can use ML.NET and…
Почему программа не скомпилируется?
Anonymous Quiz
4%
При определении константы нельзя использовать модификаторы доступа, например, модификатор public
8%
Константы с модификатором public могут располагаться только в классе, который определен с public
41%
Константа не может быть статической (то есть не может быть определена с модификатором static)
32%
Значение поля для чтения может быть установлено только один раз, а здесь устанавливается два раза
5%
Нет правильного ответа
11%
Посмотреть результаты
Действительно, программа не скомпилируется, потому что модификатор
Признаки, которыми характеризуются константы: константа должна быть проинициализирована при определении; после определения значение константы не может быть изменено.
static
в объявлении константы не допускается (так как уже неявно являются статическими). Константы предназначены для описания таких значений, которые не должны изменяться в программе.Признаки, которыми характеризуются константы: константа должна быть проинициализирована при определении; после определения значение константы не может быть изменено.
На картинке показан принцип работы .NET async/await. Автор пошел дальше и описал опасность async/await в статье и изобразил на такой же понятной картинке: https://proglib.io/w/e2cb1c78