Skip to Content
Modèles d'architecture avec Python
book

Modèles d'architecture avec Python

by Harry Percival, Bob Gregory
November 2024
Intermediate to advanced
304 pages
8h 13m
French
O'Reilly Media, Inc.
Book available
Content preview from Modèles d'architecture avec Python

Annexe C. Remplacer l'infrastructure : Tout faire avec des CSV

Cette annexe se veut une petite illustration des avantages des patrons Référentiel, Unité de travail et Couche de service. Elle fait suite au chapitre 6.

Juste au moment où nous finissons de construire notre API Flask et de la préparer pour la publication, l'entreprise vient nous voir en s'excusant, en disant qu'elle n'est pas prête à utiliser notre API et en demandant si nous pourrions construire un truc qui lit juste les lots et les commandes à partir de quelques CSV et qui sort un troisième CSV avec les allocations.

D'ordinaire, c'est le genre de chose qui pourrait faire jurer et cracher une équipe et lui faire prendre des notes pour ses mémoires. Mais pas nous ! Oh non, nous nous sommes assurés que nos préoccupations en matière d'infrastructure sont bien découplées de notre modèle de domaine et de notre couche de service. Pour passer aux CSV, il suffira d'écrire quelques nouvelles classes Repository et UnitOfWork, et nous pourrons alors réutilisertoute notre logique de la couche de domaine et de la couche de service.

Voici un test E2E pour te montrer comment les CSV entrent et sortent :

Un premier test CSV (tests/e2e/test_csv.py)

def test_cli_app_reads_csvs_with_batches_and_orders_and_outputs_allocations(
        make_csv
):
    sku1, sku2 = random_ref('s1'), random_ref('s2')
    batch1, batch2, batch3 = random_ref('b1'), random_ref('b2'), random_ref('b3')
    order_ref = random_ref('o')
    make_csv('batches.csv', [
        ['ref', 'sku',
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Analyse de données avec Python

Analyse de données avec Python

Wes McKinney, Daniel Rougé

Publisher Resources

ISBN: 9798341617605Supplemental Content