# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
На этом курсе вы познакомитесь с шаблоном проектирования Фасад, цель которого упростить использование библиотек для решения конкретно-поставленной задачи. Сначала мы познакомимся с идеей этого шаблона и напишем небольшую демо-программу для запуска компьютера нажатием одной кнопки, за которой скрывается достаточно сложная процедура запуска. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 22 мин. [Показать отчёт] Научился: шаблон проектирования Фасад - суть реализация инкапсуляции - создать панель управления сложным процессом, дав пользователю простые органы управления, без необходимости каждый раз ему лезть под капот Фасад годится в управлении транспортом - дай водителю кнопку старта, чтобы он не лазил под капот с отверткой и не замыкал втягивающее реле на стартере, не запускал вручную бензонасос, не подключал цепи электропитания - это всё сложно и ненужно Нажми на кнопку - получишь результат ) |
|||||
2 | Facade - Computer - Devices |
|
|||
На этом уроке мы продолжаем реализацию шаблона проектирования Фасад (Facade). Для начала мы создадим классы компонентов ПК и в каждом из них реализуем необходимые методы. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 14 мин. [Показать отчёт] Научился: классы созданы Цель - сборка подкапотного пространства запуска компьютера |
|||||
3 | Facade - Computer - Power |
1 тест |
|||
На этом уроке мы завершаем реализацию шаблона проектирования Фасад (Facade) на примере реализации последовательности запуска компонентов ПК после нажатия кнопки Power. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 48 мин. [Показать отчёт] Научился: один класс концентрирует в себе организацию запусков агрегатов подкапотного пространства - это и есть шаблон проектирования Фасад Дополнительное задание сделал, благо оно несложное и особо репу чесать не пришлось - больше писанины (тренировка слепого метода набора с клавиатуры) плюс наблюдение, как по мере создания (реализации) прописанных методов, пропадали подчеркивания Эклипса об ошибках в этих методах При всей простоте, полезный урок для понимания взаимосвязи методов в разных классах |
|||||
4 |
![]() |
1 тест |
|||
На этом уроке мы начнём писать программу для создания Мотиваторов. У фасада будет одна функция "создать мотиватор", которой нужно передать лишь картинку и текст. А всё остальное будет спрятано за "фасадом". Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 3 час. 21 мин. [Показать отчёт] Научился: шаблон Фасад - это кнопка, которую так искал Урри За одним рубильником в нашем проекте будет скрываться целый комплекс по производству мотиваторов и демотиваторов Создали новый проект ( в Эклипсе они все в дереве каталогов слева - очень удобно) и добавили в него класс с точкой входа Видеообзор: PuX_ZKSYwfk |
|||||
5 | Facade - Motivator - Plan |
|
|||
На этом уроке мы продолжаем реализацию приложения для создания Мотиваторов/Демотиваторов для демонстрации шаблона проектирования Фасад (Facade). Для этого создадим базовый Мотиватор в графическом редакторе, описав свои действия в виде последовательности в текстовом файле. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 2 час. 7 мин. [Показать отчёт] Научился: алгоритм действий будет такой: 1 - создаём рисунок img 2 - заполняем цветом фон #abcdef 3- загружаем картинку 640 х 480 из файла image.jpg 4 - разместить картинку от 20, 20 5 - нарисовать рамку 20, 20 640+20, 480+20 6 - вывести текст под картинкой 7 - сохранить результат в файл motivator.jpg 8 - отобразить результат на экране Попотеть придётся, полагаю над всеми пунктами, чтобы не вкривь да вкось, чтобы текст приятным шрифтом подобрать Думаю ни один из пунктов не будет реализован "одной левой" )) |
|||||
6 | Facade - Motivator - Methods |
1 тест |
|||
Мы продолжаем реализацию приложения по созданию Мотиваторов/Демотиваторов для демонстрации шаблона проектирования Фасад (Facade). На этом уроке мы реализуем необходимые методы из ранее описанного псевдоалгоритма. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 2 час. 11 мин. [Показать отчёт] Научился: написанное вчера на русском языке перевели на язык java По пунктам описывающим действия алгоритма создали методы (один пункт алгоритма == один метод) Добавили константы для хранения размеров картинки, отступов и текстового поля |
|||||
7 | Facade - Motivator - Image |
|
|||
Мы продолжаем реализацию приложения по созданию Мотиваторов/Демотиваторов для демонстрации шаблона проектирования Фасад (Facade). На этом уроке мы реализуем методы создания и сохранения картинки. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 3 час. 25 мин. [Показать отчёт] Научился: область видимости полей и методов, да и любых сущностей ограничивается фигурными скобками Это стоит помнить в момент объявления полей - если надо их использовать за пределами метода, значит объявлять их надо никак не в самом методе, а выше - в классе |
|||||
8 | Facade - Motivator - Back Paint |
1 тест |
|||
Мы продолжаем реализацию приложения по созданию Мотиваторов/Демотиваторов для демонстрации шаблона проектирования Фасад (Facade). На этом уроке мы реализуем методы добавления цвета фона, загрузки получившейся картинки в стандартном редакторе windows - Paint и выделим некоторые значения в константы. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 10 час. 9 мин. [Показать отчёт] Научился: new ProcessBuilder(IMAGE_APPLICATION, resultFilename).start(); запускает процесс (приложение, указанное нулевым аргументом) и передает в этот процесс следующий аргумент В нашем случае запускается программа для просмотра картинок и ей передается наш мотиватор Сложности: error=13, Permission denied - пробовал и скопировать в каталог проекта запускной файл и поменять права - в системном каталоге отказ в доступе, хоть и под админом работаю и пароль рута вводил. Защиту пока не сломал, открывал вручную успешно и в /Applications/Preview.app и в /Applications/Google Chrome.app, а из кода валит иксепшн Cannot run program "/Applications/Google Chrome.app": error=13, Permission denied |
|||||
9 | Facade - Motivator - Picture Border |
|
|||
Мы продолжаем реализацию приложения по созданию Мотиваторов/Демотиваторов для демонстрации шаблона проектирования Фасад (Facade). На этом уроке мы реализуем методы загрузки и размещения картинки, а так же рисования рамки вокруг неё. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 37 мин. [Показать отчёт] Научился: новый класс для меня из библиотеки java.awt.BasicStroke.BasicStroke Создает сплошной линией BasicStroke с указанной шириной и значениями по умолчанию для верхних и нижних стилей. Параметры, которые можно указать: ширина BasicStroke Бросает ошибки: IllegalArgumentException - если ширина отрицательна Загрузка фото прошла без запинок |
|||||
10 | Facade - Motivator - Text Center |
1 тест |
|||
Мы завершаем реализацию приложения по созданию Мотиваторов/Демотиваторов для демонстрации шаблона проектирования Фасад (Facade). На этом уроке мы реализуем последний метод для вывода текста нашего мотиватора/демотиватора. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 3 час. 52 мин. [Показать отчёт] Научился: для хорошего текстового комментария надо написать как минимум 5 операторов Font font = new Font ("Tahoma", Font.PLAIN, 30); - создали экземпляр шрифта с названием font, которому передали аргументы: в кавычках строковое название шрифта, тип шрифта и размер graph.setFont(font); - для объекта graph применили метод сетФонт с передачей ему аргументом вышесозданный экземпляр int text_width = graph.getFontMetrics().stringWidth(text); - int text_height = graph.getFontMetrics().getHeight(); - создали пару переменных целочисленных для вычисления ширины и высоты текста graph.drawString(text, (width - text_width)/2, PADDING + IMAGE_HEIGHT + (TEXT_HEIGHT - text_height)/2 + text_height); - на объект графа указали нарисовать строку с тремя аргументами: сам текст, ширина и высота |
|||||
11 | ФИНАЛЬНЫЙ УРОК |
без видео 4 теста |
|||
Поздpaвляю! Твoя зaдaча - прoверить cебя и пpойти тест, см. вкладку "Тест". Напиши отзыв или видеообзор по этому видеокурсу. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 10 мин. [Показать отчёт] Научился: за десять уроков по 5-10 минут соорудили программу, создающую с помощью встроенной джавовской двадэ графики готовый мотиватор или демотиватор, в зависимости от фантазии художника Уроки короткие, Эклипс не капризничала, картинок и цитат в сети вагоны - всё шло как по маслу Основная забота теперь - знакомиться с библиотеками системными джавы, брать на вооружение её классы и помнить, какой что умеет и как может преобразовывать твои объекты Фасад - создай простой класс с минимумом функционала( в идеале один метод) и прикрути к нему, как под капотом всё необходимое Подозреваю, что psvm в сути своей тоже является неким фасадом любой программы джава или сишарпа Видеообзор: 7McAXMbeOZ8 |
|||||
Итого: 11 видеоуроков |
1 час. 15 мин. 10 тестов |
11 чел. | |||
Финалисты: Иван Воронин, Сергей Соколов, Александр, Povilas Abramovicius, Новопашин Владимир, Tekashnik, Виктор, Dmitry Sinitsin, Yefim, Anatoli, Tom . |