• 1. Инструментальные средства программиста • 1.1 Компиляция, документирование, тестирование Введение в инструментальные средства программирования Системное окружение и Java Графический редактор jEdit: инсталляция Графический редактор jEdit: основные возможности Подготовка документации средствами J2SDK Возможности утилиты javadoc Тестовая среда JUnit: введение Тестовая среда JUnit: пример простого использования Тестовая среда JUnit: использование TestCase Тестовая среда JUnit: использование TestSuit Средство протоколирования log4j: инсталляция Основной сценарий использования log4j Компонента Logger пакета log4j Компонента Appender пакета log4j Компонента Layout пакета log4j Средства внешнего конфигурирования пакета log4j • 1.2 Архивация и пакетная обработка Java-архив: введение Примеры использования утилиты jar Средство пакетной обработки ant: установка Регистрация пакета ant в системе Структура управляющего файла build.xml Простой пример использования пакета ant Организация многошагового процесса средствами пакета ant Поддержка командной разработки: CVS Основные возможности CVS Примеры использования CVS • 2. Использование шаблонных решений • 2.1 Шаблоны порождения объектов Порождение объектов: тестовая задача для фабричного метода Реализация фабричного метода Использование фабричного метода Порождение объектов: создание одиночного объекта Проверка шаблона Singleton Совместное использование шаблонов Реализация фабрики пасьянсов Проверка взаимодействия шаблонов Порождение объектов: фабрика фабрик Реализация абстрактной фабрики Элементы UML для шаблонов Prototype и Builder • 2.2 Шаблоны структурирования объектов Структурные шаблоны - способы сочетания объектов Объекты-заместители: UML-диаграмма шаблона Proxy Объекты-заместители: подготовка среды тестирования Объекты-заместители: проверка работы программы Объекты-заместители: реализация шаблона Proxy Шаблон Decorator: диаграммы классов и взаимодействия Шаблон Decorator: реализация основных участников Шаблон Decorator: реализация среды тестирования Шаблон Decorator: проверка функционирования Шаблон Flyweght: пример с объектами String Шаблон Flyweght: диаграмма классов Шаблон Flyweght: реализация ( Часть 1 ) Шаблон Flyweght: реализация ( Часть 2 ) Шаблон Flyweght: тестирование Шаблон Flyweght: взаимодействие с фабрикой Шаблон Composite: проверка работы Шаблон Composite: пример реализации Шаблон Adapter: как приспособить неподходящий класс • 2.3 Шаблоны взаимодействия объектов Шаблон Strategy: UML диаграмма и тестовая задача Шаблон Strategy: реализация Шаблон State: UML диаграмма, защищенные типы для тестов Шаблон State: подготовка среды для тестирования Шаблон State: определение состояний, определяющих поведение Шаблон State: реализация состояний Шаблон State: реализация контекста использования Шаблоны проектирования: заключение • 3. Структуры данных • 3.1 Массивы, векторы, словари Структуры данных: обзор классов Массивы данных: объявление 2-х мерный массив с переменной размерностью Компиляция и проверка примера Особенности массива элементов типа Object Класс вектор в структуре Collections Основные свойства класса вектор Описание методов класса вектор Использование методов класса вектор Эксперименты с векторными операциями • 3.2 Введение в Collections framework Введение в Collections framework Создание среды тестирования Адаптация тестовых классов Проверка тестовых средств Интерфейс Collection: общие методы Интерфейс Set и эквивалентность элементов TreeSet как сортировщик Интерфейс Collection: удаление объектов из наборов Интерфейс Collection: перечисление элементов Интерфейсы Set и List: что они добавляют Интерейс SortedSet: как сравниваются элементы Интерфейс SortedSet: проверка Comparator-а Специальные реализации интерфейсов Интерфейс Map. Введение Map и Properties: сравнение Интерфейс Map: перечисление пар ключ – значение Пример комплексного использования Простота модификации Collections framework - заключение • 4. Интерфейс пользователя • 4.1 Элементы GUI Графический интерфейс пользователя и SWING Пример добавления элемента SWING Обработка действий пользователя Компоненты шаблона MVC Первый пример реализации MVC Добавление компонент SWING-а • 4.2 Архитектура MVC Шаблон Observer: UML-диаграмма и пример реализации Создание компонент View и Controller для пасьянса Создание компоненты Model для пасьянса Как отображаются несколько моделей одним View Пример программирования Controller-а Использование контролера для ComboBox-а Использование класса Graphics для GUI Подготовка отображения для пасьянса Солитер Добавления мышки к компоненте Controller Проверка правил пасьянса в моделях • 4.3 Архитектура SWING-а UML-диаграмма и UI-delegate Как выглядит Look and Feel Как изменить JButton Как анимировать кнопку • 4.4 Элементы программирования серверов Архитектура клиент-сервер Вызов удаленных объектов Компоненты RMI-программ Пример RMI-программы Компиляция и запуск RMI-программ • 5. Сервлеты в интернет-приложениях Введение в технологию сервлетов Создание первых сервлетов Жизненный цикл сервлетов ( Часть 1 ) Жизненный цикл сервлетов ( Часть 2 ) Использование графики в сервлетах Работа сервлетов с использованием сжатых форматов Tomcat как Веб-сервер Пример Веб-приложения Встроенная система безопасности в сервлет-контейнере Типы авторизации пользователей Формы авторизации пользователей Особенности использования баз данных из сервлетов Обращение к базам данных из сервлетов Работа с XML файлами из сервлетов ( Часть 1 ) Работа с XML файлами из сервлетов ( Часть 2 ) Использование фильтров и listener-ов в веб-приложениях ( Часть 1 ) Использование фильтров и listener-ов в веб-приложениях ( Часть 2 ) • 6. JSP в интернет-приложениях Введение в технологию JSP, синтаксис и скриптовые элементы JSP Директивы JSP ( Часть 1 ) Директивы JSP ( Часть 2 ) Встроенные объекты и области видимости в JSP Примеры обработки HTML форм ( Часть 1 ) Примеры обработки HTML форм ( Часть 2 ) Примеры обработки HTML форм ( Часть 3 ) Примеры обработки HTML форм ( Часть 4 ) Действия JSP ( Часть 1 ) Действия JSP ( Часть 2 ) Примеры обработки HTML форм с использованием JSP действий • 7. Что нового в JAVA-5 Переменные аргументы и For-Each Generics и Autoboxing - пример использования Пример использования типа Enum