Skip to content

Akseli15/KISLab1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Корпоративные информационные системы

Лабораторная работа №1: Реализация CDI-компонента для вычисления тангенса

Зависимости:

  • Weld - фреймворк для CDI в Java SE.
  • Lombok - библиотека для упрощения Java-кода с помощью аннотаций.

Описание задачи:

Разработать CDI-компонент для вычисления тангенса угла разными методами: используя синус и косинус, а также только косинус. Способ вычисления должен быть выбран через аннотацию или конфигурацию в XML файле. Использовать перехватчики для сравнения времени выполнения различных методов.

Реализация:

Проект включает в себя реализацию вычисления тангенса с применением CDI и перехватчиков.

Структура проекта

Основной Класс

  • Laboratory1: Основной класс для запуска CDI-контейнера, создания экземпляра TanCalculator и выполнения расчетов тангенса.

Перехватчик

  • ProfileInterceptor: Перехватчик для мониторинга времени выполнения методов калькуляторов. Используется для оценки производительности различных методов.

Аннотации

  • COSINE_ONLY: Аннотация для калькулятора, который вычисляет тангенс только на основе косинуса.
  • SINE_COSINE: Аннотация для калькулятора, который использует как синус, так и косинус для вычисления тангенса.

Параметры

  • TanParams: Интерфейс, определяющий метод getValues() для получения значений параметров калькулятора.
  • CosOnlyParams: Класс для параметров, содержащих только косинус. Включает проверку, что косинус находится в диапазоне от -1 до 1 и не равен нулю.
  • SinCosParams: Класс для параметров, содержащих синус и косинус. Проверяет, что синус и косинус находятся в пределах от -1 до 1 и что косинус не равен нулю.

Интерфейсы и Классы

  • ITanCalculator: Интерфейс для калькуляторов тангенса, содержащий метод calculate() для вычисления тангенса.
  • CosOnlyCalculator: Реализация интерфейса ITanCalculator, использующая только косинус для вычисления тангенса. Аннотирован COSINE_ONLY.
  • SinCosCalculator: Реализация интерфейса ITanCalculator, использующая и синус, и косинус. Аннотирован SINE_COSINE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages