Обучение программированию 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 Factory - Shapes - Три фигуры 00:08:42
37 чел. ★ 5 Done
  Factory - Shapes - Три фигуры

Отчёт отправил: 11308. Michail Ostryj Выполнено за 15 мин. [Показать отчёт]
Научился: Poka nichemu 
Сложности: Ничего 
Комментарии: Создал 3 класса для каждой фигуры, в каждый класс добавил метод draw. Создал основной класс main. 
2 Factory - Shapes - Абстракция 00:08:51
32 чел. ★ 5 Done
  На этом уроке мы оптимизируем ранее созданный код.
Для этого мы создадим абстрактный класс Shape,
в котором создадим абстрактный метод draw()
и унаследуем этот класс во всех ране созданных классах:
ShapeCircle(), ShapeLine() и ShapeSquare().
Так же мы создадим ещё один класс ShapeStar(),
который тоже унаследует класс Shape() и будет рисовать звёздочку.
Отчёт отправил: 11308. Michail Ostryj Выполнено за 15 мин. [Показать отчёт]
Научился: nichego 
Сложности: nichego 
Комментарии: Сначала создал обстрактный класс Shape, но потом вместо него создал интерфейс drawable, и добавил его в классы фигур. 
3 Factory - Shapes - Созидатель 00:07:41
32 чел. ★ 5 Done
  На этом уроке мы реализуем фабрику фигур.
Для этого мы создадим метод createShape(),
который будет создавать фигуры по их названию.
Вначале мы реализуем данный метод в основном классе Program(),
после чего вынесем его в отдельный класс Factory()
и модифицируем код, чтобы наша фабрика заработала =)
Отчёт отправил: 11308. Michail Ostryj Выполнено за 15 мин. [Показать отчёт]
Научился: ничего 
Сложности: иии 
Комментарии: Создал класс Factory, в нем реализовал метод createShape. Создал арайлист и реализовал его  в main. 
Видеообзор: q6EoRBvdVPQ
4 Factory - Shapes - Список 00:05:30
32 чел. ★ 5 Done
  На этом уроке мы порефакторим наш код.
Первое что мы сделаем, это создадим список наших фигур.
После чего мы добавим в нашу фабрику генератор случайных фигур.
Которые добавим в список, после чего выведем его в консоль.
Отчёт отправил: 11308. Michail Ostryj Выполнено за 15 мин. [Показать отчёт]
Научился: nothing 
Сложности: nothing 
Комментарии: В классе Factory создал метод получения рандомной фигуры(createRandomShape). В классе main вызвал ее. 
5 Factory - Shapes - Interfactory 00:07:18
32 чел. ★ 5 Done
  На этом уроке мы немного переделаем нашу фабрику.
Для этого мы создадим интерфейс Drawable(),
заменим везде "extends Shape" на "implements Drawable"
и удалим абстрактный класс Shape().
Так же мы добавим новую фигуру
и возможность добавления фигур через консоль.
Отчёт отправил: 11308. Michail Ostryj Выполнено за 15 мин. [Показать отчёт]
Научился: ничего 
Сложности: ничего 
Комментарии: Использование абстрактного класса на использование интерфейса я поменял еще в самом начале. 
Видеообзор: Qhrb7MRSuIE
6 Factory - Storage - Читатель 00:06:48
32 чел. ★ 5 Done
  Мы напишем ещё одну программу для демонстрации шаблона проектирования «Фабрика».
В техзадание программы мы добавим минимально необходимые усложнения,
чтобы продемонстрировать использование многослойной фабрики, когда
создание и подготовку объектов выполняют отдельные «цеха» фабрики.

Задание: Написать программу для сложения двух чисел.
Исходные данные брать либо с клавиатуры, либо из файла numbers.txt

На этом уроке мы напишем пример основной программы
и создадим абстрактный класс, который объединит всех читателей.
Отчёт отправил: 11308. Michail Ostryj Выполнено за 15 мин. [Показать отчёт]
Научился: ничего 
Сложности: ничего 
Комментарии: Создали основной класс Program, и абстрактный класс Reader с всеми методами. 
7 Factory - Storage - Файл и Сканер 00:08:50
32 чел. ★ 5 Done
  На этом уроке мы создадим двух Читателей.
Один умеет считывать с клавиатуры - ReaderScanner,
второй умеет считывать из файла - ReaderFile.

У каждого читателя будет реализована дополнительный метод init (),
который необходимо вызывать сразу после создания экземпляра,
чтобы подготовить класс к считыванию чисел методом doRead().
Отчёт отправил: 11308. Michail Ostryj Выполнено за 15 мин. [Показать отчёт]
Научился: ничего 
Сложности: ничего 
Комментарии: Написал классы ReaderScanner и ReaderFile, и унаследовали их от Reader. 
8 Factory - Storage - Запуск 00:05:07
32 чел. ★ 5 Done
  На этом уроке мы поочерёдно создадим и запустим программу с каждым читателем.
Сначала проверим, как работает читатель с клавиатуры, потом - из файла.
Нужно будет предварительно создать текстовый файл numbers.txt
и вписать в нём два числа на отдельных строчках.

Попробуйте самостоятельно создать класс фабрики для создания читателей.
Отчёт отправил: 11308. Michail Ostryj Выполнено за 15 мин. [Показать отчёт]
Научился: ничего 
Сложности: ничего 
Комментарии: Создали экземпляры классов ReaderFile и ReaderScanner. Использовали их и потестили. 
9 Factory - Storage - Фабрика 00:05:22
32 чел. ★ 5 Done
  На этом уроке мы создадим класс Factory, в которой
разместим статическую функцию по созданию читателей.

После создания экземпляра каждого типа, необходимо его
по-своему инициализировать, делать это в одной функции не разумно.

На следующем уроке мы создадим отдельные «цеха»,
то есть под-классы фабрики для каждого типа читателя.
Отчёт отправил: 11308. Michail Ostryj Выполнено за 15 мин. [Показать отчёт]
Научился: ничего 
Сложности: ничего 
Комментарии: Создали класс factory, а так же статичную функцию и проинициализировали все типы Reader'a. 
10 Factory - Storage - Фабричные цеха 00:07:40
30 чел. ★ 5 Done
  На этом уроке мы создадим два цеха -
класс FactoryScanner - для создания и подготовки читателей с клавиатуры.
класс FactoryFile для создания и подготовки читателей с файла.
Эти классы разумно оформить наследниками от нашей фабрики.
В них нужно определить функцию Reader createReader ().
А сама фабрика станет абстрактной, так как
вся работа выполняется в цехах.
Отчёт отправил: 11308. Michail Ostryj Выполнено за 15 мин. [Показать отчёт]
Научился: ничего 
Сложности: ничего 
Комментарии: Создали классы фабрики для каждого способа считывания данных(FactoryScanner и FactoryFile) и унаследовали их от Factory. В классе Reader сделали абстрактный метод createReader(). 
11 ФИНАЛЬНЫЙ УРОК без видео
9 тестов
12 чел. ★ 5 $
  Поздpaвляю!
Твoя зaдaча - прoверить cебя и пpойти тест, см. вкладку "Тест".

Напиши отзыв или видеообзор по этому видеокурсу.
  Итого:   11 видеоуроков 1 час. 11 мин.
9 тестов
12 чел. ★ 5  
  Финалисты:   Иван Воронин,   Сергей Соколов,   Станислав,   Povilas Abramovicius,   Aleksej Fiodorov,   Andrej Petrunev,   Sergej Šugajev,   Андрей Гладков,   Новопашин Владимир,   Виктор,   Tekashnik,   Andrei .

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





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

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

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

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


Научился: Паттерн интересный, но разобрался не сразу... Поскольку третий проект - стал, по сути, классической реализацией этого паттерна, с помощью дополнительной литературы таки вник в его суть)



Научился: Повторил пройденное
Отличный курс и шаблон проектирования. Очень полезный, его можно использовать например в игре Xonix, чтобы создавать противников (шарики, квадратики). Вроде бы объекты разные, но наследуют общий корни, тем самым могут обрабатываться одним циклом и хранится в общем массиве объектов. Думаю, когда дойдут руки до курса по игре Xonix, можно будет порефакторить код, чтобы использовать шаблон проектирования там, где это явно намекает =)