Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Lab7TP

Описание проекта

Реализация системы оплаты заказов с использованием многослойной архитектуры и принципов DDD-lite (Domain-Driven Design). Проект демонстрирует разделение ответственности между слоями и инкапсуляцию бизнес-логики в доменном слое.

Структура проекта (слоистая архитектура)

Доменный слой (Domain)

Расположение: src/domain/

  • order.py - сущность Order (агрегат)
  • value_objects.py - Value Objects: Money, OrderLine
  • exceptions.py - доменные исключения

Слой приложения (Application)

Расположение: src/application/

  • use_cases.py - Use Cases: PayOrderUseCase, GetOrderSummaryUseCase

Интерфейсы (Interfaces)

Расположение: src/interfaces/

  • repositories.py - OrderRepository (интерфейс)
  • payment_gateways.py - PaymentGateway (интерфейс)

Инфраструктурный слой (Infrastructure)

Расположение: src/infrastructure/

  • repositories.py - InMemoryOrderRepository (реализация)
  • payment_gateways.py - FakePaymentGateway (реализация)

Тесты

Расположение: tests/

  • test_pay_order_use_case.py - тесты всех сценариев

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages