# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
Мы начинаем работу с Шаблоном проектирования Strategy (стратегия), который выбирает наилучший способ достижения результата. Это значительно упрощает процесс создания программ. Отчёт отправил: 30514. Tom Выполнено за 11 мин. [Показать отчёт] Научился: Познакомился со структурой шаблона Strategy. |
|||||
2 | Strategy - Operation - Context |
|
|||
На этом уроке мы начинаем создание программы при помощи шаблона проектирования Strategy (Стратегия). Для начала мы опишем интерфейс нашей программы, так как с этого начинается описание общего знаменателя всех "Стратегий", которые будут применяться. Отчёт отправил: 30514. Tom Выполнено за 14 мин. [Показать отчёт] Научился: Создал интерфейс Strategy, реализовал его в классах OperationPlus, OperationMinus, OperationMulti. Добавил класс Context. |
|||||
3 | Strategy - Operation - Program |
1 тест |
|||
На этом уроке мы опишем основной класс программы, который продемонстрирует работу нашего шаблона проектирования Strategy (Стратегия). Отчёт отправил: 30514. Tom Выполнено за 9 мин. [Показать отчёт] Научился: Создал класс Program, добавил в него метод main и проверил в нём реализацию шаблона Strategy. |
|||||
4 | Strategy - Join - ArrayList |
|
|||
На этом уроке мы начнём создание программы для слияния строк из ArrayList(). Так как обычная конкатенация строк происходит быстрее с маленьким количеством одновременно склеиваемых строк, то мы воспользуемся шаблоном проектирования Strategy (Стратегия) для выбора наибыстрейшего способа склеивания. Отчёт отправил: 30514. Tom Выполнено за 8 мин. [Показать отчёт] Научился: Создал класс Program, добавил в него метод main и подготовил программу для работы с шаблоном Strategy. |
|||||
5 | Strategy - Join - Context |
1 тест |
|||
На этом уроке мы реализуем класс Context(), который будет выбирать наилучшую стратегию для выполнения склеивания строк. Отчёт отправил: 30514. Tom Выполнено за 5 мин. [Показать отчёт] Научился: Создал класс Context, добавил в него метод execute, который по размеру списка определяет стратегию слияния строк. |
|||||
6 | Strategy - Join - String/Buffer |
|
|||
На этом уроке мы создадим интерфейс Strategy(), в котором будет всего один метод join(). Так же реализуем классы стратегий StrategyString и StrategyBuffer(). Отчёт отправил: 30514. Tom Выполнено за 17 мин. [Показать отчёт] Научился: Создал интерфейс Strategy, реализовал его в классах StrategyStringJoin и StrategyBufferJoin. |
|||||
7 | Strategy - Join - Log/Timer |
1 тест |
|||
На этом уроке мы продемонстрируем как можно в одном классе использовать несколько шаблонов. Для этого мы перенесём синглтоны Log() и Timer() из прошлых уроков. Отчёт отправил: 30514. Tom Выполнено за 17 мин. [Показать отчёт] Научился: Добавил классы Log и Timer. Проверил скорость выполнения метода append класса StringBuffer. |
|||||
8 | Strategy - Person - Schema |
|
|||
На этом уроке мы начинаем создание программы в котором шаблон проектирования Strategy (Стратегия) мы применим дважды. Отчёт отправил: 30514. Tom Выполнено за 28 мин. [Показать отчёт] Научился: Составил список классов в программе, которая сохраняет информацию о Person в файл. |
|||||
9 | Strategy - Person - Program |
1 тест |
|||
На этом уроке мы реализуем нашу программу по ТЗ, которое мы создали на прошлом уроке. Отчёт отправил: 30514. Tom Выполнено за 11 мин. [Показать отчёт] Научился: Создал классы Person, Program, ContextFormat и ContextSave. В методе main реализовал алгоритм работы программы. Добавил заглушки для методов doFormat и doSave. |
|||||
10 | Strategy - Person - Format - Context |
|
|||
На этом уроке мы реализуем класс ContextFormat(). Его задача в выборе необходимого формата вывода данных. Отчёт отправил: 30514. Tom Выполнено за 28 мин. [Показать отчёт] Научился: Реализовал метод doFormat в классе ContextFormat, который по расширению файла выполняет необходимое форматирование данных. |
|||||
11 | Strategy - Person - Format - Strategy |
|
|||
На этом уроке мы реализуем метод format() в классах FormatTXT(), FormatXML() и FormatJSON(). Отчёт отправил: 30514. Tom Выполнено за 24 мин. [Показать отчёт] Научился: Реализовал методы format в классах FormatTXT, FormatXML и FormatJSON. |
|||||
12 | Strategy - Person - Save - Context |
1 тест |
|||
На этом уроке мы реализуем класс ContextSave(). В котором опишем выбор сохранения данных, вывод: на экран SavePrint() или в файл SaveFile(). Отчёт отправил: 30514. Tom Выполнено за 11 мин. [Показать отчёт] Научился: Реализовал метод doSave в классе ContextSave. Создал классы SavePrint и SaveFile. |
|||||
13 | Strategy - Person - Save - Strategy |
|
|||
На этом уроке мы завершаем написание нашей программы с двойной демонстрации шаблона стратегия (Strategy). Для этого мы реализуем оставшийся класс SaveFile(). Отчёт отправил: 30514. Tom Выполнено за 15 мин. [Показать отчёт] Научился: Реализовал метод save в классе StrategySave. Научился использовать блок try-catch с закрытием ресурсов. |
|||||
14 | ФИНАЛЬНЫЙ УРОК |
без видео 5 тестов |
|||
Поздpaвляю! Твoя зaдaча - прoверить cебя и пpойти тест, см. вкладку "Тест". Напиши отзыв или видеообзор по этому видеокурсу. Отчёт отправил: 30514. Tom Выполнено за 3 мин. [Показать отчёт] Научился: В этом курсе познакомился со структурой и реализацией паттерна Strategy. |
|||||
15 | VIP - Strategy - Person - UML |
1 тест |
|||
На этом уроке мы рассмотрим программу для генерации диаграмм кода на основе исходников готовой программы. Отчёт отправил: 30514. Tom Выполнено за 10 мин. [Показать отчёт] Научился: Установил программу Class Visualizer, загрузил в нее class файлы из проекта StrategyPerson, отобразил диаграммы классов. |
|||||
16 | VIP - Strategy - Person - Enum |
|
|||
На этом уроке мы порефакторим нашу программу, а именно класс ContextFormat(). Отчёт отправил: 30514. Tom Выполнено за 16 мин. [Показать отчёт] Научился: Добавил enum Type в класс ContextFormat. |
|||||
Итого: 16 видеоуроков |
1 час. 43 мин. 12 тестов |
12 чел. | |||
Финалисты: Иван Воронин, Сергей Соколов, Станислав, Povilas Abramovicius, Новопашин Владимир, Tekashnik, Фомичева Наталья, Виктор, Александр, Dmitry Sinitsin, Anatoli, Tom . |