ASP.NET Core — внедрение зависимостей (Dependency Injection)

Внедрение зависимостей — это паттерн, который используется для разрешения зависимостей, в данном паттерне классы или объекты имеют свои зависимые классы введённые (переданные другим классом или объектом), а не созданные напрямую. Используется для того, чтобы максимально отделить объекты и их зависимости. В ASP.NET Core представлена базовая реализация контейнера внедрения зависимостей через конструктор. Сами сервисы добавляются в классе Startup в методе ConfigureServices... [Ещё]

ASP.NET Core — создание API, манипуляция данными, валидация

В продолжении прошлой статьи будем дальше рассматривать возможности создания API используя ASP.NET Core. Разберёмся каким образом можно работать с операциями добавления, изменения и удаления данных. А также научимся работать с валидацией... [Ещё]

ASP.NET Core — создание API, маршруты, передача данных

В данной статье я хочу показать, как можно создавать API в ASP.NET Core. Для начала хочу обратить внимание на один момент, в в предыдущей версии ASP.NET существует разграничение между ASP.NET Web API и ASP.NET MVC. В ASP.NET Core всё это объединено в ASP.NET Core MVC, все контроллеры наследуются от Microsoft.AspNetCore.Mvc.Controller... [Ещё]

Microsoft Bot Framework — добавление индикатора "пишет ответ" в чат-бот

В чат-бот можно передавать событие "Typing"(получать от пользователя тоже), которое служит индикатором того, что пользователь/чат-бот печатает сообщение. Данная возможность бывает полезна, когда ваш чат-бот должен выполнить какую-то длительную операцию, например, получить данные со стороннего сервиса. В таком случае вы можете не просто заставить пользователя ждать ответ, а позволить ему увидеть, что идёт процесс его набора, как было бы если бы он общался с реальным человеком... [Ещё]

Microsoft Bot Framework — как добавлять вложения в FormFlow

Привет. В репозиторий Bot Builder SDK был добавлен коммит пользователя @pcostantini который даёт возможность добавления вложений при использовании возможностей FormFlow. Ниже я покажу как можно использовать новые возможности и что было добавлено... [Ещё]

ASP.NET Core — знакомство

В очередной статье про .NET Core хочу начать знакомство со структурой проекта ASP.NET Core. Рассмотрим Kestrel и как он взаимодействует с приложением. Разберемся с содержимым файлов Program.cs и класса Startup... [Ещё]

Паттерны проектирования в .NET за 5 минут — Декоратор (Decorator)

Декоратор – структурный шаблон проектирования, предназначенный для динамического подключения дополнительного поведения к объекту. Декоратор представляет гибкую альтернативу создания подклассов с целью расширения функционала.
Данный паттерн еще называют обёрткой, но лично мне нравится аналогия с матрешкой. Ведь он позволяет добавить функциональности объекту, которая будет выполняться до, после или вместо основного функционала. Тем самым создавая некую вложенность функционала одного объекта в другой... [Ещё]

Паттерны проектирования в .NET за 5 минут — Шаблонный метод(Template Method)

Привет. Это очередное видео из курса "Паттерны за 5 минут". И поговорим мы о паттерне "Шаблонный метод".
Шаблонный метод — это поведенческий шаблон проектирования, который определяет алгоритм, некоторые методы которого делегируются подклассам, позволяя тем самым переопределить некоторые шаги алгоритма, не меняя его структуры... [Ещё]

Паттерны проектирования в .NET за 5 минут — Observer(Наблюдатель)

Привет. Это очередной урок из курса "Паттерны за 5 минут" и в данном уроке мы поговорим о паттерне "Наблюдатель".
Наблюдатель — поведенческий шаблон проектирования. Определяет зависимость типа "один ко многим" таким образом, что при изменении объекта, все зависящие от его получают сообщение об этом событии... [Ещё]

Как стать контрибьютором Microsoft Bot Framework

Привет. Если вы уже были на моём блоге, то наверняка заметили мою любовь к Microsoft Bot Framework. Мне нравится эта технология, она удобная, легко используемая и имеет открытый исходный код. В этой статье я хочу рассказать, как можно внести вклад, хоть и не большой, в развитие данной технологии на личном опыте... [Ещё]