Редакция: 2024-04-25
Исходный код по курсу Шаблоны проектирования после проведения двух секций занятий.
Разобраны следующие темы:
- Шаблон
Одиночка - ООП :
Наследование,Инкапсуляция - Git : Основы работы
- Json: Основы работы
- Разработаны основные модели данных
- Созданы
Фабричные методыдля генерации данных - Разработан
абстрактныйкласс для формирования отчетности - Разработаны наборы класссов для выгрузки данных в разныее форматы
- Json
- Csv
- Markdown
- Шаблон
Фабрикадля создания нужного объекта для построение отчетности. - Подключена библиотека
Flask - Добавлена
Фабрикадля реализации процессов обработки транзакций - Добавлен расчет оборотов.
- Добавлен универсальный сервис для реализации CRUD операций
- на примере работы с Номенклатурой
- с использованием
Postman
- Добавлена система десериализации данных
- на примере класса
storage - на примере класса
settings_manager
- на примере класса
- Продемонстрированы варианты работы с интеграционным тестированием
- Реализован механизм хранения и учета предподготовленных данных с
использованием свойства
blocked_period - Шаблон
Наблюдатель- Построена базовая реализация шаблона
- Разработан
постобработчик - Добавлена система логирования
- Архитектурный шаблон: CQRS
| Файл | Назначение |
|---|---|
| settings_manager.py | Менеджер управления настройками |
| settings.py | Модель настроек |
| reference.py | Абстрактный класс для наследования справочников |
| errors.py | Файл с классами для хранения и обработки ошибок |
| exceptions.py | Файл с классами для генерации собственных исключений |
| .\Models | Набор моделей |
| .\Tst | Модульные тесты nunit |
| .\Src\Logics | Набор классов для инкапсуляции бизнес логики |
| .\Src\Data | Наборы классов для хранения данных |
| .\Src\Storage | Каталог для хранения данных |
- Отредактировать файл
settings.prod.json - Запустить сборку образа
sudo docker build -t patterns .
- Запустить образ
sudo docker-compose up -d
- Установить Portainer
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Запуск: https://localhost:9443
- Запускаем команду
curl http://127.0.0.1:5001/api/nomenclature
-
Создаем файл
delete.jsonи включаем в него Json текст любого элемента номенклатуры -
Формируем запрос
curl -X DELETE -H "Content-Type: application/json" -d @delete.json http://127.0.0.1:5002/api/nomenclature
- Зафиксируем изменения
curl http://127.0.0.1:5002/api/nomenclature/accepted
- Получим новый список
curl http://127.0.0.1:5001/api/nomenclature