Словарь (map) C#

Словарь (map) — это структура данных, представляющая собой специальным образом организованный набор элементов хранимых данные. Все данные хранятся в виде пар ключ-значение. Доступ к элементам данных осуществляется по ключу. Ключ всегда должен быть уникальным в пределах одного словаря, данные могут дублироваться при необходимости. У данной структуры есть и другие часто встречающиеся названия: ассоциативный массив или Dictionary. Принцип работы словаря схож с камерой хранения: есть ячейка, в которой может храниться что угодно, но доступ к этой ячейке осуществляется по уникальному номеру, благодаря чему ее всегда легко найти. Давайте рассмотрим пример реализации словаря на языке C#.

(далее…)

Множество (Set) C#

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

(далее…)

Очередь (queue) C#

Очередь (queue) — это структура данных, представляющая собой специализированным образом организованный список элементов. Доступ к элементам стека осуществляется по принципу FIFO (First In First Out) — первым пришел, первым вышел. Принцип работы данной структуры данных схож с обычной живой очередью в больнице. Кто раньше пришел, тот раньше зайдет на прием. Все новые пациенты выстраиваются в конец очереди по мере поступления. Давайте рассмотрим пример реализации очереди на языке C#.

(далее…)

Создание Angular 5 приложения. Часть 3

Angular – это фреймворк позволяющий быстро и удобно разрабатывать одностраничные веб приложения. В своей основе он использует язык программирования TypeScript. Давайте рассмотрим процесс создания SPA-приложения (Single Page Application) с помощью данного фреймворка от идеи до публикации.

(далее…)

Создание Angular 5 приложения. Часть 2

Angular – это фреймворк позволяющий быстро и удобно разрабатывать одностраничные веб приложения. В своей основе он использует язык программирования TypeScript. Давайте рассмотрим процесс создания SPA-приложения (Single Page Application) с помощью данного фреймворка от идеи до публикации.

(далее…)

code-contracts

Программирование по контракту (Code Contracts) в C#

Проектирование (программирование) по контракту (Code Contracts) – это метод построения архитектуры программного обеспечения, в соответствии с которым для интерфейсов компонентов системы должны быть разработаны условия определяющие допустимые значения и ожидаемое поведение системы. То есть, мы заранее задаем правила для метода и сигнализируем при их нарушении. Данный подход позволяет на порядок повысить качество и надежность кода, в то же время упрощая тестирование и отладку. Давайте более подробно рассмотрим эту идею.

(далее…)

wcf-logo

Windows Communication Foundation (WCF) служба

Windows Communication Foundation (WCF) — программный фреймворк, используемый для обмена данными между приложениями, входящий в состав .NET Framework. Другим словами, WCF – это программная платформа от Microsoft для создания, настройки и развертывания распределенных сетевых сервисов.

Давайте рассмотрим процесс создания и вызова службы WCF.

(далее…)

Посредник (Mediator)

Паттерн Посредник (Mediator)

Идея паттерна Посредник (Mediator)

Паттерн (шаблон) проектирования — это продуманный способ построения исходного кода программы для решения часто возникающих в повседневном программировании проблем проектирования. Иными словами, это уже придуманное решения, для типичной задачи. При этом паттерн не готовое решение, а просто алгоритм действий, который должен привести к желаемому результату. Давайте рассмотрим один из наиболее часто используемых поведенческих паттернов — Посредник (Mediator).

(далее…)

Инверсия управления и Внедрение зависимостей (IoС & DI)

Инверсия управления и Внедрение зависимостей (IoС & DI)

Что такое Инверсия управления и Внедрение зависимостей (IoС & DI)

Паттерн (шаблон) проектирования — это продуманный способ построения исходного кода программы для решения часто возникающих в повседневном программировании проблем проектирования. Иными словами, это уже придуманное решения, для типичной задачи. При этом паттерн не готовое решение, а просто алгоритм действий, который должен привести к желаемому результату. Но сегодня мы рассмотрим не конкретный паттерн проектирования, а принцип построения объектно-ориентированных приложений Инверсия управления (IoC).

(далее…)

Делаем Soft Phone на c# (GSM-модем)

Приступая к работе

       Итак, ранее мы рассмотрели как же заставить нашу систему говорить и сохранять аудио-файлы. Теперь вполне можно перейти к самому интересному. Рассмотрим, как можно сделать свой soft phone при помощи простого gsm-модема. Нам понадобится gsm-модем, он же «свисток» в народе, SIM-карта и ранее использованная среда разработки. Нами был использован модем Huawei e173, недорогой и достаточно надежный. Приобрести подобный можно как у оператора сотовой связи, так и заказать из Китая. Симку можно брать на любой вкус. Однако я бы рекомендовал тариф с посекундной оплатой, если балуетесь для себя или какой-нибудь безлимит, потому как при тестировании и отладке неминуемо будет упущено огромное количество минут, а следовательно и денег.

(далее…)