Проект по предмету "Шаблоны проектирования в Java". Реализует работу с треугольниками:
- вычисление площади и периметра
- определение типа треугольника
- хранение в репозитории и на складе
- чтение входных данных из файла
- валидация, логгирование, покрытие тестами
Создать приложение с соблюдением принципов SOLID и применением шаблонов: Factory Method, State, Observer, Singleton, Specification, Repository, Object Pool.
- Factory Method — для создания треугольников через
TriangleFactory - State — определение типа треугольника (
isRight,isIsosceles,isEquilateral) - Observer —
TriangleObserverImplследит за изменениями точек - Singleton —
Warehouse,TriangleRepository - Repository — хранение всех фигур
- Specification — фильтрация объектов
- Object Pool —
Warehouseкак пул параметров фигур
entity— классыPoint,Triangledto—TriangleDTOдля парсинга данныхparser—TriangleParserпарсит строку из файлаfactory—TriangleFactoryсоздаёт фигуруinit—TriangleInitializerдобавляет в репозиторий и складrepository,warehouse— хранилища объектов и параметровservice,validator,specification,comparatorreader,observer
- Открыть проект в IntelliJ IDEA (или другой IDE)
- Убедиться, что установлен JDK 17+
- Запустить:
mvn clean test- TestNG
- Без
if,for,switch— только assert'ы - Покрыты:
- Сервис (расчёты)
- Валидаторы
- Репозиторий
- Спецификации
- Компараторы
- Обновление склада
- Чтение файла
0.0;0.0;3.0;0.0;0.0;4.0
1.0;1.0;2.0;2.0
a;b;c;d;e;f
- ✅ Разделение ответственности (SRP)
- ✅ Расширяемость через интерфейсы (OCP)
- ✅ Маленькие интерфейсы (ISP)
- ✅ Использование Optional, логгеров, своих Exception
- ✅ Пакетная структура и ручные equals/hashCode
- ✅ Code Convention и TestNG правила соблюдены