Распродажа!

[Javabegin] Игра “Золотоискатель” (с паттернами Java) (2019)

49.00

Артикул: f294bcb1a737Категория:

Описание

Автор: Javabegin
Название: Игра “Золотоискатель” (с паттернами Java) (2019)

3 ОСНОВНЫХ НАПРАВЛЕНИЯ ВИДЕОКУРСА
ПРОФЕССИОНАЛЬНОЕ ООП
В этом проекте вы будете использовать ООП на полную мощность: проектирование, наследование, интерфейсы, полиморфизм, объекты – все это на профессиональном уровне.
АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ
Вы научитесь делать полный анализ вашего кода: какие объекты создаются, сколько памяти занимают, где находятся узкие места, как сделать анализ heap dump файла и многое другое
ПРИМЕНЕНИЕ ПАТТЕРНОВ
Для реализации задачи вам понадобится применить ряд паттернов, которые сделают код более универсальным и расширяемым. Вы поймете как нужно использовать шаблоны Java.
Чему вы научитесь

использовать паттерны программирования на практике
проектировать с нуля всю структуры программы – от идеи до проверки работы всей системы
описывать схему взаимодействий объектов
выделять зависимости и поведения объектов для их группировки
последовательно разрабатывать программный код
тестировать код различными типами тестов (на ошибки, на скорость работы, на результаты методов и пр.)
создавать документацию к программе JavaDocs
разбивать проект на маленькие подзадачи и реализовывать их отдельно
использовать преимущества NetBeans при разработке кода
использовать рефакторинг для правильного изменения кода
и многое другое

Спойлер: Подробнее

Основные темы видеокурса

Углубленное применение ООП
Анализ и создание структуры проекта
Применение паттернов проектирования
Слабые связи между объектами
Правильная структура кода
Универсальность кода
Заменяемые компоненты
Создание «движка» приложения
Абстрактный уровень
Уровень реализации
Главные принципы любого профессионального кода
Сборка проекта
Нахождение узких мест программы
Использование профилировщика
Анализ загруженности приложения
Работа с базой данных SQLite
Создание кастомных SWING компонентов
и многое другое…
КАКИЕ ПАТТЕРНЫ ПРОЕКТИРОВАНИЯ ВЫ ПРОЙДЕТЕ?

Одиночка (Singleton)
Фасад (Facade)
Фабричный метод (Factory Method)
Наблюдатель (Observer)
Абстрактная фабрика (Abstract Factory)
Стратегия (Strategy)
Адаптер (Adapter)
Состояние (State)
Вы будете использовать различные паттерны проектирования. Причем не все сразу, а по-очереди – для более удобного усвоения материала.

Последовательное изучение каждого паттерна (не все сразу)
Составление таблицы паттернов
Применение каждого паттерна на текущей задаче
Сравнение исходных кодов с паттерном и без него
Сначала вы начнете использовать порождающие паттерны, после этого будем переходить к структурным и поведенческим.
Важное примечание: вы сможете сравнить реализацию без применения паттернов и с применением, чтобы увидеть разницу.
После этого вы уже никогда больше не будете программировать как прежде – только с применением ООП и шаблонов проектирования!
Как обычно – вы будете создавать код по принципу “от простого к сложному”.
Какой проект вы разработаете?
Вы будете разрабатывать аналог игры “Золотоискатель”.
Основная цель игры – собрать золото, укрыться от монстров и выйти из лабиринта (более подробные требования будут даны на самом тренинге)
КРАТКИЙ СПИСОК ТЕМ, КОТОРЫЕ БУДУТ В УРОКАХ

Разбор пошагового алгоритма написания программы
Описание задачи и целей программы
Упрощенные этапы проектирования
Принципы GRASP
Проектирование функционала
Проектирование схемы программы
Проектирование объектов
Разбиение объектов на составляющие
Проставление связей между объектами
Создание “движка” программы
Применение принципов ООП для объектов
Добавление возможности расширения объектов программы
Последовательная разработка: внедрение объектов
Создание менеджеров управления объектами
Добавление валидаторов для проверки ввода значений
Принципы создания объектов
Создание “запчастей” программы
Увеличение читабельности
Разработка внешнего вида программы (графический интерфейс)
Разработка структуры таблицы базы данных
Хранение всей статистики программы
Логическое распределение классов по пакетам
Правильное именование пакетов
Рефакторинг кода
Обсуждение идей по развитию программы
Тестирование функционала программы на JUnit
Автоматизация по созданию тестов в NetBeans
Проверка кода на покрытие тестами (Coverage)
Создание и применение собственных типов исключений (Exception)
Создание звукового сопровождения
Разбор применяемых паттернов проектирования
Поиск “узких” мест программы
Использование профилировщика
Анализ скорости программы
Анализ создаваемых объектов
ОПТИМИЗАЦИЯ КОДА
Вы научитесь не только профессионально писать программный код, но и отслеживать все его “узкие места”. Эти навыки пригодятся вам в любом проекте – как сделать так, чтобы программа работала без сбоев и с минимальным потреблением памяти.
Вы сможете решать такие вопросы как:

Нехватка памяти
Анализ файла heap dump
Лишние объекты
Оптимизация объектов
Скорость работы методов
Нагрузка программы
КАК ПРАВИЛЬНО РАБОТАТЬ С ФАЙЛАМИ HEAP DUMP
Heap Dump – это специальный файл, который создается вручную или виртуальной машиной для анализа ситуации.
Очень часто с этим файлом вам придется работать в веб-разработке, когда сервер приложений будет ломаться и вам нужно будет понять, из-за чего это произошло.
Эти знания пригодятся вам на всю жизнь.
Вам больше не нужно будет гадать – вы научитесь анализировать и разбирать проблемные ситуации.
ДРУГИЕ ТЕМЫ

Сериализация
Рефакторинг кода
База данных SQLite
Проектирование программы
Работа со звуком
Графический интерфейс
Вы поймете как можно сохранять и восстанавливать любую информацию в Java без потери в производительности.
Сериализация – очень важный навык для любого программиста. Эти знания пригодятся вам в любых проектах, где нужно будет сохранять и передавать данные
В проекте будет использоваться база данных SQLite. В ней будут храниться все результаты игр, сохраненные пользователи с данными и пр.
Доступ к данным осуществляется через JDBC API и SQL запросы. Для выполнения запросов вам понадобится драйвер последней версии.
Все игры будут храниться в двоичном виде для возможности быстрого восстановления.
Вы также научитесь работать со звуком в Java. Важно, чтобы звуковые эффекты не “тормозили” вашу программу, т.е. работали автономно. Поэтому их нужно уметь запускать в параллельных потоках и подгружать в нужные объекты.
Все объекты игры во время движения могут издавать звуки – вы узнаете как оптимизировать скорость выполнения (т.к. объектов может быть большое количество)

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “[Javabegin] Игра “Золотоискатель” (с паттернами Java) (2019)”