Архітектура програми Python Боб Грегорі, Гаррі Персіваль
- Час доставки: 7-10 днів
- Стан товару: новий
- Доступна кількість: 2
Заказывая «Архитектура приложений Python Боб Грегори, Гарри Персиваль», вы можете быть уверены, что данное изделие из каталога «Программирование» вы получите через 5-7 дней после оплаты. Товар будет доставлен из Европы, проверен на целостность, иметь европейское качество.
Архітектура програми Python
Боб Грегорі, Гаррі Персіваль
Архітектура програми Python. TDD, DDD і розробка реактивних мікросервісів
Python стає все більш популярним і використовується для створення різноманітних програм, але проектування великих надійних систем цією мовою може бути складним завданням. Розробка складних високоякісних систем вимагає відповідної архітектури. Важко використовувати високорівневі шаблони проектування в Python, такі як гексагональна архітектура, архітектура, керована подіями, або шаблони, рекомендовані для доменно-орієнтованого проектування (DDD). Ситуацію не покращує той факт, що класична література про методи управління складністю додатків містить приклади коду, написаного на Java або C#. Розробники Python часто вважають такі книжки малокорисними в їхній роботі.
Цей практичний посібник познайомить дизайнерів Python із перевіреними архітектурними шаблонами, які допомагають керувати складністю додатків і максимально використовувати набори тестів. Презентація окремих архітектурних патернів базується на прикладі, поступово розширеному застосуванні. Такий підхід дозволив нам продемонструвати переваги методології TDD. У свою чергу, в розділах, присвячених моделюванню домену, увага приділялася уникненню будь-яких зовнішніх залежностей при забезпеченні цілісності даних. Серед більш цікавих концепцій варто згадати використання подій як шаблону інтеграції сервісу в архітектурі мікросервісу. Наче спеціально було представлено практичні аспекти використання кількох фреймворків і технологій Python, зокрема Flask, SQLAlchemy, pytest, Docker і Redis.
У цій книзі, серед іншого:
- моделювання домену та використання шаблонів DDD
- сутності, об’єкти значень і агрегати в архітектурі домену
- створення моделей без зайвого залежності
- події, команди та новини шини
- паттерни архітектури подій та реактивні мікросервіси
Архітектура сучасних програм на Python: рішення для серйозних систем!
Про автора
Гаррі Персіваль колись був консультантом із менеджменту, пізніше брав участь у роботі над Resolver Одна електронна таблиця. Він працював у PythonAnywhere LLP і просував методологію TDD на конференціях, семінарах та інших заходах по всьому світу.
Зміст
Вступ 9
Вступ 17
ЧАСТИНА I. СТВОРЕННЯ АРХІТЕКТУРИ ДЛЯ ПІДТРИМКИ МОДЕЛЮВАННЯ ДОМЕНУ
1. Моделювання предметної області 25
- Що таке модель предметної області 25
- Мова предметної області 28
- Моделі предметної області модульного тестування 28
Класи даних ідеально підходять для об’єктів значень 33
Об’єкти та сутності значень 35
- Не все має бути об’єктом – функція служби домену 37
Python магічні методи дозволяють вам працювати з моделями стандартним способом 38
Винятки також можуть виражати концепції домену 38
2. Шаблон сховища 41
- Збереження моделі домену 42
- Трохи псевдокоду – що нам знадобиться? 42
- Застосування принципу інверсії залежностей до доступу до даних 43
- Нагадування - наша модель 43
"Звичайний" спосіб - модель залежить від ORM 44
Інверсія залежностей - ORM залежить від моделі 45
- Вступ до шаблону репозиторію 48
Абстракція репозиторію 49
У чому заковика? 50
- Створити репозиторій імітації для тестування непросто 53
- Що таке порти та адаптери в Python 54
- Резюме 54
3. Інтерлюдія про асоціації та абстракції 57
- Тестування абстракцій стану 58
- Вибір правильного
