Bibliothèque ou framework

Ce qui sépare une bibliothèque, que ton code appelle, d'un framework, qui appelle ton code : inversion de contrôle, points d'extension, cycle de vie imposé et coût de sortie.

  • 21 cartes
  • 3 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier

Quelques cartes du deck

  • Bibliothèque : de quoi s'agit-il ?

    Voir la réponse

    Ensemble de fonctions ou de classes réutilisables que ton programme appelle quand il le décide, en gardant la maîtrise du déroulement.

    Tu décides de l'ordre des appels et de la structure du programme : on peut en changer ou n'en utiliser qu'une partie sans réorganiser le reste.

  • Qu'affiche ce programme ?

    ```python
    routes = {}

    def route(chemin):
    def enregistrer(fonction):
    routes[chemin] = fonction
    return fonction
    return enregistrer

    def servir(requetes):
    print("démarrage")
    for chemin in requetes:
    print(routes[chemin]())

    @route("/")
    def accueil():
    return "bonjour"

    @route("/aide")
    def aide():
    return "aide"

    servir(["/aide", "/", "/aide"])
    `

    • démarrage, aide, bonjour, aide
    • démarrage, bonjour, aide, bonjour
    • aide, bonjour, aide, sans démarrage
    • démarrage, bonjour, aide, puis rien d'autre
    Voir la réponse

    démarrage, aide, bonjour, aide

    Les deux fonctions ne sont jamais appelées par le code de l'application : servir, qui joue le framework, les appelle selon les requêtes reçues, dans l'ordre des requêtes et non celui de leur définition.

  • Avec une bibliothèque, c'est … qui appelle la bibliothèque ; avec un framework, c'est le … qui appelle ton code.

    Voir la réponse

    Avec une bibliothèque, c'est ton code qui appelle la bibliothèque ; avec un framework, c'est le framework qui appelle ton code.

    Cette direction de l'appel est le critère de distinction : il ne dépend ni de la taille de l'outil, ni de son nom.

  • Framework : de quoi s'agit-il ?

    Voir la réponse

    Squelette d'application qui impose sa structure et son déroulement, et appelle le code que tu y branches aux moments qu'il choisit.

    On gagne un cadre déjà fait, mais on s'engage sur ses conventions : en sortir, c'est souvent réécrire une grande part du programme.

  • Qu'affiche ce programme, qui passe une fonction de rappel à une bibliothèque ?

    ```python
    def trier(valeurs, cle):
    return sorted(valeurs, key=cle)

    mots = ["chat", "éléphant", "ours"]
    print(trier(mots, len))
    `

    • ['chat', 'éléphant', 'ours']
    • ['chat', 'ours', 'éléphant']
    • ['éléphant', 'chat', 'ours']
    • ['ours', 'chat', 'éléphant']
    Voir la réponse

    ['chat', 'ours', 'éléphant']

    sorted appelle len sur chaque mot pour obtenir la clé de tri : 4, 8 et 4. Les deux mots de 4 lettres gardent leur ordre d'origine. Ici le rappel est donné à une bibliothèque, mais c'est toujours le code appelant qui lance le tri.