Том 1. Вендинговый автомат Структура книги Устойчивые промежуточные формы Функциональная композиция Краткий курс C# Краткий курс C# Операторы выражений Операторы выражений Типизация Арифметические операторы Логические операторы Операторы отношений Переменные Операторы управления Операторы управления Структурная парадигма Область видимости Условные операторы Операторы циклов Массивы Свойства массива как структуры Использование массивов N-мерные массивы Методы Метод как абстракция Синтаксис методов Модификаторы параметров ref и out Необязательные аргументы Функциональная композиция Классы (ООП?) Класс и объект Члены и создание объектов Методы Конструкторы Связь объектов (Has-a) Инкапсуляция Наследование (Is-a) Абстракция Смысловая абстракция Формальная система типов и абстракция Виртуальные методы Интерфейсы и абстрактные методы Вендинговый автомат Описание проекта Массивы и циклы Ваша задача Массивы и циклы.Возможное решение Возможное решение Реализация AddMoney Реализация GetChange Реализация BuyGood {id} {count} Функциональная композиция Ваша задача Функциональная композиция.Возможное решение Избавиться от дублирующегося кода Сокрыть структуру данных и сделать программу понятней Объектно ориентированный дизайн Объектно ориентированный дизайн Ваша задача ООП.Возможное решение Возможное решение Основная логика Роутинг и команды Куда делся GoodStorage и OrderDeliver? Принцип подстановки Барбары Лисков на примере заказов Стоит ли изменять тип параметра в методе TryProcessOrder Рефлексия на примере команд Рефлексия на примере команд Разрешение зависимостей Позиционная ассоциация аргументов с параметрами Наделяем команды описанием через атрибуты Боремся с дубликатами с помощью Roslyn API Выдача сдачи. Часть 1. Ваша задача Подсчет чисел Фибоначчи Реализация формулы через рекурсию Динамическое программирование Возможное решение. Алгоритм выдачи сдачи с оптимизацией на C#. Мини-задачи База языка Задачи на массивы Декомпозиция Избавьтесь от дублирующегося кода “Босс атакует” Избавьтесь от дублирующегося кода “Меню прокачки персонажа” Избавьтесь от дублирующегося кода “Списки дел” ООП Пример защиты состояний ООП вариант “Босс атаукет” ООП вариант “Меню прокачки персонажа” ООП вариант “Списки дел” Паттерны Теория графов Граф, как математический объект Представление графа. Матрица смежности Представление графа. Граф объектов Комментарии, как в VK