Гид Java разработчика: проектно-ориентированный подход
Book information
Description
ОГЛАВЛЕНИЕ Предисловие Почему мы написали эту книгу Подход, ориентированный на разработчика Что в этой книге? Для кого эта книга? Условные обозначения, используемые в книге Использование примеров кода Глава 1. Начало путешествия Темы Особенности Java Разработка программного обеспечения и архитектура SOLID Тестирование Структура глав Самостоятельная работа Глава 2. Анализатор банковских операций Задача Цель Требования к анализатору банковских операций Принцип KISS Переменные final Обслуживаемость кода и антишаблоны Класс-бог Дублирование кода Принцип единственной ответственности Связность Внутриклассовая связность Функциональная Информационная Служебная Логическая Последовательная Временная Связность методов Связанность Тестирование Автоматизированное тестирование Доверие Устойчивость к изменениям Понимание программы Использование JUnit Объявление метода теста Операторы контроля Покрытие кода Выводы Самостоятельная работа В завершение Глава 3. Расширяем анализатор банковских операций Задача Цель Требования к расширенному анализатору банковских операций Принцип открытости/закрытости Создание экземпляра функционального интерфейса Лямбда-выражения Подводные камни интерфейсов Интерфейс-бог Слишком мизерный Явный API против неявного Доменный класс или примитив? Множественный экспорт Знакомство с доменным объектом Объявление и реализация соответствующего интерфейса Обработка исключений Для чего нужны исключения? Шаблоны и антишаблоны для исключений Выбор между проверяемыми и непроверяемыми исключениями Слишком специфические Слишком однообразные Шаблон уведомления Методика применения исключений Не игнорируйте исключение Не перехватывайте «общие» исключения Документируйте исключения Будьте осторожны с исключениями, связанными с конкретной реализацией Исключения против управляющего потока Альтернативы исключениям Использование null Шаблон null-объекта Optional Тгу Использование сборщиков Зачем нужны сборщики Работа с Maven Структура проекта Пример сборочного файла Команды Maven Использование Gradle Пример сборочного файла Команды Gradle Выводы Самостоятельная работа В завершение Глава 4. Система управления документами Задача Цель Требования к системе управления документами Воплощение идеи Импортеры Класс Document Атрибуты и иерархия Documents Реализация и регистрация импортеров Принцип подстановки Дисков Альтернативные подходы Поместить импортер в класс Область действия и инкапсуляция Расширение и повторное использование кода Гигиена тестов Именование тестов Поведение, а не реализация Не повторяйтесь Хорошая диагностика Тестирование ошибочных ситуаций Константы Выводы Самостоятельная работа В завершение Глава 5. Движок бизнес-правил Задача Цель Требования к движку бизнес-правил Разработка через тестирование Зачем нужен TDD? Цикл TDD Мокинг Добавление условий Моделирование состояния Вывод типа локальной переменной Switch-выражения Принцип разделения интерфейса Разработка текучего интерфейса (Fluent API) Что такое Fluent API? Моделирование домена Шаблон Builder Выводы Самостоятельная работа В завершение Глава 6. Twootr Задача Цель Требования к Twootr Обзор разработки Технология Pull Технология Push От событий к разработке Связь GUI — графический интерфейс пользователя Продолжаем Гексагональная архитектура С чего начать Пароли и безопасность Подписчики и твуты Моделирование ошибок Твутинг Создание моков Верификация при помощи моков Библиотеки для мокинга SenderEndPoint Позиции Методы equals и hashcode Взаимосвязь между equals и hashCode Выводы Самостоятельная работа В завершение Глава 7. Расширение Twootr Задача Цель Резюме Живучесть и шаблон «Репозиторий» Проектирование репозиториев Объекты-запросы Функциональное программирование Лямбда-выражения Ссылки на методы Execute Around Потоки map() forEach() filter() reduce() Optional Пользовательский интерфейс Инверсия зависимости и внедрение зависимости Пакеты и сборочные системы Ограничения и упрощения Выводы Самостоятельная работа В завершение Глава 8. Заключение Проектно-ориентированная структура Самостоятельная работа Сознательная практика Следующие шаги и дополнительные ресурсы Об авторах В завершение Предметный указатель
Similar books
Гид Java разработчика: проектно-ориентированный подход
2022 · DJVU
Современный язык Java. Лямбда-выражения, потоки и функциональное программирование
2020 · PDF
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF
Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)
2023 · PDF
Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"
2022 · PDF