3. Стажировка-2015
Виды персистентности:
1. локальная (стек) – все
параметры методов, локальные
переменные блоков
2. динамическая (куча) – все, что
создано при помощи new, живет
до сборки мусора либо до delete
Внешние конфиги
4. Стажировка-2015
Виды персистентности:
3. глобальная (сегмент данных) –
все статические поля классов и
глобальные переменные
4. дисковая – все, что сохранено в
файлы на диске – в БД или просто
в файловой системе
Внешние конфиги
6. Стажировка-2015
Время связывания переменных:
3. при загрузке программы –
чтение значения из внешнего
источника (config file)
4. при создании объекта – любой
способ, но в момент создания
объекта
Внешние конфиги
8. Стажировка-2015
Важно:
чем раньше время связывания,
тем ниже гибкость и ниже
сложность кода.
Обеспечивайте уровень гибкости,
удовлетворяющий требованиям,
но не больше!
Внешние конфиги
12. Стажировка-2015
Цели создания внешних конфигов:
1. увеличить гибкость
2. избежать перекомпиляции
3. настроить под систему
4. перенести настройки в другую
систему
Внешние конфиги
13. Стажировка-2015
Сборка проекта – получение
из исходного кода и ресурсов
(config файлов, картинок,
стилей и т.д.) исполняемого
модуля
Сборка проекта
14. Стажировка-2015
Примеры сборки:
1. создание файла .exe при
помощи утилиты make из файлов
.cpp, .h, .rc и т.д.
2. создание .class или .jar файлов
при помощи javac – только для
десктопных приложений
Сборка проекта
15. Стажировка-2015
Сборка Java-программ:
1. Apache Ant – низкоуровневый
сборщик, все файлы внутри проекта,
может многое, стиль императивный
2. Apache Maven – использует
внешние репозитории кода, стиль
декларативный, поддерживает
версионность библиотек,
чувствителен к соглашениям
Сборка проекта
21. Стажировка-2015
Модульный тест – любой код,
который вызывает функцию
(метод), передавая ей входные
параметры, и проверяет
постусловие и инвариант
Автотесты