/Notes

Primary LanguageJavaApache License 2.0Apache-2.0

Notes

Целью данного проекта является демонстрация навыков разработки на языке Java.

Задания:

Создать консольное (WEB) приложение, удовлетворяющее следующим требованиям:

1. Использовать возможности ООП: классы, наследование, полиморфизм, инкапсуляция, абстрактные классы и интерфейсы.
2. Каждый класс должен иметь исчерпывающее смысл название и информативный состав.
3. Наследование должно применяться только тогда, когда это имеет смысл.
4. При кодировании должны быть использованы соглашения об оформлении кода java code convention и 
   правилам «чистого кодирования».
5. Приложение должно поддерживать работу с кириллицей (быть многоязычной).
6. Классы должны быть грамотно разложены по пакетам.
7. Архитектура приложения должна соответствовать шаблону Model-View-Controller.
8. Работа с консолью (c WEB) или консольное (WEB) меню должно быть минимальным.
9. При реализации алгоритмов бизнес-логики рекомендовано использовать шаблоны GoF (если это целесообразно): 
   Factory Method, Command, Builder, Strategy, State, Observer etc.
10.  Для хранения параметров инициализации можно использовать enum (должен быть реализован хоть один сложный enum), 
     файлы или БД.
11.  Код должен содержать комментарии.
12.  Должны присутствовать JUnit – тесты.

Вариант №23
Заметки. Создать иерархию заметок различных типов (картинки, текст, список и т. д.). 
Предусмотреть объединение заметок, поиск заметок по содержимому, диапазону времени добавления, тегам, 
сортировку заметок по времени последнего изменения, важности, заголовку.