C#

C# объектно-ориентированное программирование (ООП)

Ранее мы изучили, что такое объекты и классы. Также, рассмотрели свойства, которыми объекты обладают. Кроме того, были затронуты действия, которые могут совершаться над объектами, называемые методами.  Главной задачей объектно - ориентированного подхода является упрощение процесса разработки. Весь подход стоит на трех основных принципах: наследование, инкапсуляция и полиморфизм. Рассмотрим каждый из них. (далее…)

C#

C# свойства и аксессоры 

В прошлой теме были рассмотрены объекты на C#. Напомню, что каждому объекту реального мира в соответствие ставится класс, описывающий его структуру и набор операций, которые могут выполняться самим объектом, либо же проводиться над ним. (далее…)

C#

Объекты на C#

Язык C# входит в число объектно-ориентированных языков программирования. Это значит, что декомпозиция реально существующих систем производится на объектном уровне. То есть выделяются объекты системы, их составные части и свойства. (далее…)

Паттерны проектирования

Паттерн Шаблонный метод (Template method)

Идея паттерна Шаблонный метод (Template method)

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

Структуры данных

Хеш-таблица (hashtable) C#

Хеш-таблица (hashtable) - это структура данных, представляющая собой специальным образом организованный набор элементов хранимых данных. Все данные хранятся в виде пар хеш-значения. Данная структура похожа на словарь (map), но имеет особенности такие как применение хеш-функции для увеличения скорости поиска. Принцип работы данной структуры схож с каталогом книг. Все книги разложены в алфавитном порядке, но не на одном стеллаже, а для каждой буквы выделен отдельный стеллаж, поэтому нам не нужно по порядку перебирать все книги, а можно подойти к нужному стеллажу и искать уже там. Давайте рассмотрим пример реализации хеш-таблицы на языке C#. (далее…)

Структуры данных

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

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

Структуры данных

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

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

Структуры данных

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

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

Структуры данных

Стек (stack) C#

Стек (stack) - это структура данных, представляющая собой специализированным образом организованный список элементов. Доступ к элементам стека осуществляется по принципу LIFO (Last In First Out) - последним пришел, первым вышел. Принцип работы данной структуры данных схож с магазином автоматического огнестрельного оружия. Патроны помещаются в магазин сверху вниз, а используется всегда только верхний патрон. Давайте рассмотрим пример реализации стека на языке C#. (далее…)

Структуры данных

Связный список (Linked List) C#

Связный список (Linked List) представляет собой коллекцию связанных элементов, которые содержат в себе хранимые данные, а также ссылку на связанные с ним элементы (один или несколько). Основным преимуществом данной структуры данных перед обычным массивом является ее динамичность - возможность легко менять количество элементов. Давайте рассмотрим пример реализации на языке C# элементарного односвязного списка. (далее…)

×