Обучение программированию c# онлайн

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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







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



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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Factory - Shapes - Три фигуры 00:08:42
1 тест
41 чел. ★ 5 Done
  Factory - Shapes - Три фигуры

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 22 мин. [Показать отчёт]
Научился: могу предположить, что наши экземпляры надо скомпоновать в одном конструкторе, задача которому и будет возвращать требуемую конфигурацию фигур 
2 Factory - Shapes - Абстракция 00:08:51
1 тест
36 чел. ★ 5 Done
  На этом уроке мы оптимизируем ранее созданный код.
Для этого мы создадим абстрактный класс Shape,
в котором создадим абстрактный метод draw()
и унаследуем этот класс во всех ране созданных классах:
ShapeCircle(), ShapeLine() и ShapeSquare().
Так же мы создадим ещё один класс ShapeStar(),
который тоже унаследует класс Shape() и будет рисовать звёздочку.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 29 мин. [Показать отчёт]
Научился: абстрактный класс не несет в себе реализации полей и методов, лишь объявляя их @Override - модификатор, указывающий на перегружаемый метод, контролирующий корректность сигнатуры с объявлением этого же метода в родительском классе  
3 Factory - Shapes - Созидатель 00:07:41
1 тест
36 чел. ★ 5 Done
  На этом уроке мы реализуем фабрику фигур.
Для этого мы создадим метод createShape(),
который будет создавать фигуры по их названию.
Вначале мы реализуем данный метод в основном классе Program(),
после чего вынесем его в отдельный класс Factory()
и модифицируем код, чтобы наша фабрика заработала =)
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 24 мин. [Показать отчёт]
Научился: суть фабрики - класс заточенный под исполнение определенных действий, возвращающий готовый результат по запросу пользователя На нулевой иллюстрации фабрика - это метод createShape (String text) в основном классе public static void main, на первой иллюстрации - перенесенный в отдельный класс для Фабрики Вижу в этом инкапсуляцию - в класс Фабрики отправляется команда на создание некоей фигуры в текстовом виде, класс Фабрика возвращает готовую фигуру, однако как он её сделал, пользователь может и не знать 
4 Factory - Shapes - Список 00:05:30
36 чел. ★ 5 Done
  На этом уроке мы порефакторим наш код.
Первое что мы сделаем, это создадим список наших фигур.
После чего мы добавим в нашу фабрику генератор случайных фигур.
Которые добавим в список, после чего выведем его в консоль.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 23 мин. [Показать отчёт]
Научился: судя по моим представлениям, шаблон порождающий, а значит годится в той или иной степени в любой программе, ибо код подразумевает создание сущностей в любом случае, а значит Фабрика может быть использована повсеместно Если неправ- поправьте, буду признателен выяснить, где этот порождающий шаблон неприменим или нецелесообразен 
5 Factory - Shapes - Interfactory 00:07:18
1 тест
36 чел. ★ 5 Done
  На этом уроке мы немного переделаем нашу фабрику.
Для этого мы создадим интерфейс Drawable(),
заменим везде "extends Shape" на "implements Drawable"
и удалим абстрактный класс Shape().
Так же мы добавим новую фигуру
и возможность добавления фигур через консоль.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 33 мин. [Показать отчёт]
Научился: в закладке с названием класса Эклипс наличие звездочки говорит о внесении изменений в код После сохранения звездочка исчезает Интерфейс годен для обработки однотипных действий над данными Если нужны ещё и однотипные поля (переменные) - выбирай абстрактный класс, он даст больше функциональности 
6 Factory - Storage - Читатель 00:06:48
36 чел. ★ 5 Done
  Мы напишем ещё одну программу для демонстрации шаблона проектирования «Фабрика».
В техзадание программы мы добавим минимально необходимые усложнения,
чтобы продемонстрировать использование многослойной фабрики, когда
создание и подготовку объектов выполняют отдельные «цеха» фабрики.

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

На этом уроке мы напишем пример основной программы
и создадим абстрактный класс, который объединит всех читателей.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 20 мин. [Показать отчёт]
Научился: Обсуждаемое в предыдущем отчете реализовали в этом - поскольку не только методы общИ для данных в программе, выбрали не интерфейс, а абстрактный класс, чтобы затолкать туда и переменные Далее будет выполнены создания методов в классе работы с вводом клавиатуры и классе считывания из файла 
7 Factory - Storage - Файл и Сканер 00:08:50
1 тест
36 чел. ★ 5 Done
  На этом уроке мы создадим двух Читателей.
Один умеет считывать с клавиатуры - ReaderScanner,
второй умеет считывать из файла - ReaderFile.

У каждого читателя будет реализована дополнительный метод init (),
который необходимо вызывать сразу после создания экземпляра,
чтобы подготовить класс к считыванию чисел методом doRead().
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 27 мин. [Показать отчёт]
Научился: считыватель из файла использует последовательно класс считывателя и класс буферизированного считывателя Результат их работы передается в строковую переменную, а затем парсится в целочисленный инт Метод инит не переносим в абстрактный класс из-за разной сигнатуры этих методов в классах чтения с клавиатуры и из файла 
8 Factory - Storage - Запуск 00:05:07
36 чел. ★ 5 Done
  На этом уроке мы поочерёдно создадим и запустим программу с каждым читателем.
Сначала проверим, как работает читатель с клавиатуры, потом - из файла.
Нужно будет предварительно создать текстовый файл numbers.txt
и вписать в нём два числа на отдельных строчках.

Попробуйте самостоятельно создать класс фабрики для создания читателей.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 18 мин. [Показать отчёт]
Научился: впервые создал текстовый файл из Эклипса, без применения файл-менеджеров Для использования класса ReaderFile пришлось передавать в файлРидер аргументом название файла, созданного по пути FactoryStorage/ В ином случае операнды вводились с клавиатуры, дополнительных аргументов не требовалось 
9 Factory - Storage - Фабрика 00:05:22
1 тест
36 чел. ★ 5 Done
  На этом уроке мы создадим класс Factory, в которой
разместим статическую функцию по созданию читателей.

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

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

Напиши отзыв или видеообзор по этому видеокурсу.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 4 час. 9 мин. [Показать отчёт]
Научился: курс несложен для понимания и по времени (продолжительности видеоуроков) ненапрягающий ни разу То, что давалось в общей программе, как сам понял, рассказал без особых затруднений Жаль, что дополнительное задание не осилил, будет день - посмотрим новым взглядом и может быть посмеемся над собственной желторотостью ) Как бы то ни было, курс пройден чуть ли не на одном дыхании, стал себе позволять два урока в день В идеале курсы хорошо проходить компанией, когда есть с кем обсудить новый материал и увидеть его под новым углом Курсы Валерия этим привлекают - там народ тусит ) Помнится, Видеошарп таким запросом и был найден - гуглил «где тусуются C#», или что-то близкое к этому Следующим курсантам - успехов и новых вершин! 
Видеообзор: lt_XpnQ9ZYk
  Итого:   11 видеоуроков 1 час. 11 мин.
16 тестов
15 чел. ★ 5  
  Финалисты:   Иван Воронин,   Сергей Соколов,   Станислав,   Povilas Abramovicius,   Aleksej Fiodorov,   Andrej Petrunev,   Sergej Šugajev,   Андрей Гладков,   Новопашин Владимир,   Виктор,   Tekashnik,   Andrei,   Dmitry Sinitsin,   Yefim,   Anatoli .

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





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

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

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

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


Научился: Обучение использования фабричного шаблона проектирования, который может облегчить создание сложных проектов, где есть множества объектов. Другой подход решения задачи для создания объектов и их использования.



Научился: Очень хороший шаблон проектирования Фабрика. Его богатое использование, делает незаменимы присозданеии проектов в которых нужно создавать множество однотипных объектов. Рекомендовано к изучению.
Трудности: Вспомнить, что делает искомый шаблон.