C# обучение для чайников

Формула программиста

основатель — Волосатов Евгений Витольдович

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса 512 256 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 8 рублей.

Первый взнос - 256 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 256 рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 512 руб./30 дней + 512 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Strategy - Intro 00:04:31
28 чел. ★ 5 Done
  Мы начинаем работу с Шаблоном проектирования
Strategy (стратегия), который выбирает
наилучший способ достижения результата.

Это значительно упрощает процесс создания программ.
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Данный шаблон использовался интуитивно =) 
2 Strategy - Operation - Context 00:08:22
24 чел. ★ 5 Done
  На этом уроке мы начинаем создание программы
при помощи шаблона проектирования Strategy (Стратегия).
Для начала мы опишем интерфейс нашей программы,
так как с этого начинается описание общего
знаменателя всех "Стратегий", которые будут применяться.
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Тоже использовали аналогичный метод ранее в программах, при выборе в каком формате сохранять/выводить данные (json/xml/raw). Но исходя из того, какие операции использовали в уроке, то можно предположить использование в программе "калькулятор" =) 
3 Strategy - Operation - Program 00:06:28
24 чел. ★ 5 Done
  На этом уроке мы опишем основной класс программы,
который продемонстрирует работу нашего
шаблона проектирования Strategy (Стратегия).
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Решил добавить операцию деления, а то как то не полноценная программа получается =) Так же всё же решил добавить доп. метод для вывода символа операции, чтобы код основной программы выглядел более красиво и можно было полноценно использовать перебор массива стратегий =) 
4 Strategy - Join - ArrayList 00:04:51
24 чел. ★ 5 Done
  На этом уроке мы начнём создание программы
для слияния строк из ArrayList().
Так как обычная конкатенация строк происходит
быстрее с маленьким количеством одновременно
склеиваемых строк, то мы воспользуемся
шаблоном проектирования Strategy (Стратегия)
для выбора наибыстрейшего способа склеивания.
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Реализовал класс Context() который просто склеивает слова и возвращает результат. Отличная практика, идём дальше. 
5 Strategy - Join - Context 00:04:14
24 чел. ★ 5 Done
  На этом уроке мы реализуем класс Context(),
который будет выбирать наилучшую стратегию
для выполнения склеивания строк.
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Реализовал обе стратегии, но как обычно вместо буфера использовал билдер по понятным причинам =) 
6 Strategy - Join - String/Buffer 00:06:42
24 чел. ★ 5 Done
  На этом уроке мы создадим интерфейс Strategy(),
в котором будет всего один метод join().
Так же реализуем классы стратегий
StrategyString и StrategyBuffer().
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: И без таймера знаю, что конкатенация строк перед добавлением в StringBuilder/Buffer() не отнимает время, поэтому каждую строчку нужно .append() отдельно друг от друга, это будет быстрее. 
7 Strategy - Join - Log/Timer 00:07:21
23 чел. ★ 5 Done
  На этом уроке мы продемонстрируем как можно
в одном классе использовать несколько шаблонов.
Для этого мы перенесём синглтоны
Log() и Timer() из прошлых уроков.
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Файлы из проекта по синглтону просто перенёс в папку с исходниками данного проекта, они автоматически отобразились в списке, поэтому ничего копипастить не пришлось. Это один из положительных моментов при реализации каких либо методов отдельными классами/файлами, чтобы легко можно было переносить между проектами. 
8 Strategy - Person - Schema 00:08:51
21 чел. ★ 5 Done
  На этом уроке мы начинаем создание программы
в котором шаблон проектирования
Strategy (Стратегия) мы применим дважды.
Отчёт отправил: 10558. Иван Воронин Выполнено за 30 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Похожий шаблон уже применяли в прошлых курсах по Java. Реализовал UML схему, думаю в будущем она будет дополняться. 
9 Strategy - Person - Program 00:08:03
20 чел. ★ 5 Done
  На этом уроке мы реализуем нашу программу
по ТЗ, которое мы создали на прошлом уроке.
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Начало кода положено, идём дальше. з.ы. главное не бежать впереди паровоза. =) 
10 Strategy - Person - Format - Context 00:10:48
20 чел. ★ 5 Done
  На этом уроке мы реализуем класс ContextFormat().
Его задача в выборе необходимого формата вывода данных.
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Реализовал через свитч, как то веселее выглядит. 
11 Strategy - Person - Format - Strategy 00:09:47
20 чел. ★ 5 Done
  На этом уроке мы реализуем метод format()
в классах FormatTXT(), FormatXML() и FormatJSON().
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Оптимизировал свитчи, убрав лишнюю проверку "txt", раз уж у нас этот формат берётся по-умолчанию, то лишние строки кода нам ник чему. Отличный урок. Подобное уже реализовывали в курсе ООФрукты. 
12 Strategy - Person - Save - Context 00:06:37
19 чел. ★ 5 Done
  На этом уроке мы реализуем класс ContextSave().
В котором опишем выбор сохранения данных,
вывод: на экран SavePrint() или в файл SaveFile().
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Проверку на пустоту всегда делаю по своему либимому методу, вначале тримлю строчку, малоли, какой там лишний мусор может попасться, а после этого есть замечательная проверка на пустоту в строке =) см. скриншот. 
13 Strategy - Person - Save - Strategy 00:07:18
19 чел. ★ 5 Done
  На этом уроке мы завершаем написание нашей программы
с двойной демонстрации шаблона стратегия (Strategy).
Для этого мы реализуем оставшийся класс SaveFile().
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Ваш вариант по аналогии с using в C# я вначале сам использовал, потом уже видео снял с паузы и понял, что сделал так же. Но, потом я реализовал вариант Java 1.7+ более компактный и уже не требующий закрывания файла, так как метод сам об этом заботится, плюс удобно выбирать кодировки для файла. Отличный урок как всегда. з.ы. Евгений Витольдович, как вам 14 строчка на скриншоте? это я сам придумал, что-то мысль закралась, а может написать присвоение по аналогии: "a = b = 3" и java не ругнулась, в итоге работает как предполагалось, молодцы разрабы языка!!! 
14 ФИНАЛЬНЫЙ УРОК без видео
4 теста
9 чел. ★ 5 Done
  Поздpaвляю!
Твoя зaдaча - прoверить cебя и пpойти тест, см. вкладку "Тест".

Напиши отзыв или видеообзор по этому видеокурсу.
Отчёт отправил: 10558. Иван Воронин Выполнено за 9 час. 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Отличный шаблон проектирования. Используется много где. Так же в связке с другими шаблонами проектирования. Мы рассматривали варианты где выбирали в каком формате сохранять информацию: json/xml/raw. Так же это используется как показано на картинке, при создании сжатого архива, но разными способами: rar/zip/7z/ace/arj. При выборе способа транспортировки товара или человека из пункта А в пункт Б: на автомобиле/поезде/автобусе/пешком/самолёт/корабль. Я думаю достаточно привёл вариантов, чтобы понять, зачем нужен этот шаблон проектирования. Удачи в изучении. 
15 VIP - Strategy - Person - UML 00:03:14
19 чел. ★ 5 Done
  На этом уроке мы рассмотрим программу для генерации диаграмм
кода на основе исходников готовой программы.

Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Вкратце, софтинка очень уж слабенькая, может быть я ошибаюсь и мало её юзал, но просто до неё я уже нашёл пару интересных вариантов, а именно: в курсе Java Book уже демонстрировал их. Но решил на основе пройденной программы ещё раз их использовать, см. скриншоты. з.ы. Code 2 UML (та что светлая) пришлось вручную расставлять блоки, стрелочки автоматом она провела, простенький вид, но приятнее и ближе к классическому UML, та что потемнее, это плагин для IntelliJ IDEA, под названием: "simpleUML", более подробнее всё показывает, но тоже надо лишнее не включать, чтобы построение диаграммы было более менее красиво, а не комок аля "Перекати-поле" =) 
16 VIP - Strategy - Person - Enum 00:06:52
19 чел. ★ 5 Done
  На этом уроке мы порефакторим нашу программу,
а именно класс ContextFormat().
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: По поводу использования свитч, реализовал ещё на прошлых уроках, а вот по поводу enum да, повеселее явно =) з.ы. как обычно убрал лишнюю проверку формата TXT, так как он всё равно у нас идёт по-умолчанию. 
  Итого:   16 видеоуроков 1 час. 43 мин.
4 теста
9 чел. ★ 5  
  Финалисты:   Иван Воронин,   Сергей Соколов,   Станислав,   Povilas Abramovicius,   Новопашин Владимир,   Tekashnik,   Фомичева Наталья,   Виктор,   Александр .

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Шаблон безусловно полезный. Только у меня в голове все уже несколько перемешалось.


Научился: Лишний раз отшлифовал сценическое мастерство.
Трудности: Отправил отчет по итератору, хотел сделал отчет по стратегии.