Слой бизнес логики - PavelKushnar/Software_Architecture_Design GitHub Wiki
В качестве шаблона, который будет использован при создании слоя бизнес-логики была выбрана модель предметной области. Система представляется состоящей из совокупности связанных между собой обьектов. Объекты представляют сервисы (методы) другим объектам и создаются во время исполнения программы на основе определения классов обьектов. Объекты скрывают информацию о представлении состояний и, следовательно, ограничивают к ним доступ.
В приложении имеется пакет классов, которые представляют собой модели объектов, которые присутствуют в системе:
package buisness_logic
- Модель сущности Спектакль -
Spectacl
- Модель сущности cеанс -
Seans
- Модель сущности место -
Mesto
- Модель сущности бронь -
Bron
- Модель сущности пользователь -
Person
(родительский класс для сущностей Кассир, Клиент, Режиссер постановщик, Менеджер )
Класс Spectacl
представляет собой сущность Спектакль. Спектакль создается Режиссером постановщиком Основные методы:
Конструктор public Spectacl(RejPost rejpost,int spectaclProkatCost, String name, String info,int time)
Абстрактный класс Person
хранит в себе данные персон и отображает их общие интерфейсы.
public Boolean autentification(String aLogin, String aPass)
проверяет подлинность введенных логина и пароля.public Boolean addCash (int num)
добавляет средства на счет компании.public Boolean writeOffCash (int num)
списывает средства со счета компании.
Перечисление PersonType
представляет собой виды персон: Client
, Manager
, RejPost
, Cashier
.
Класс public Bron (Client client, Mesto mesto, Seans seans)
представляет собой объект Бронь. Он создается во время бронирования места.
public int addbron()
– добавление брони в БД.public int addbronCorp()
– добавление корпоративной брони в БД .public int acessBron(double skidka)
– подтверждение корп брони.public int wantPayBron()
– установление статуса желания купить.public int PayedBron()
– установление статуса оплачено.
Перечисление BronStatus отображает состояния объекта Bron
. New
, WaitPay
, Payed
, WaitCashierPay
, WaitAccessManager
;
Класс public Seans( LocalDateTime time, Spectacl spectacl)
хранит сеансы и время .
Для тестирования бизнес процессов были написаны JUnit
тесты, которые размещены в каталоге Тесты в пакете LogicTest
Реализованы 5 тестовых файлов, в каждом из которых по несколько тестов
- Тестирование бизнес процесса, связанного с процессом покупки Спектакля
SpectaclBuyJUnitTest
. - Тестирование бизнес процесса, связанного с Бронированием билетов:
PersBuyJUnitTest
. - Тестирование бизнес процесса, связанного с Корпоративным клиентом :
CorpBuyJUnitTest
.