Module mvc.models
MODELS - IMPLÉMENTE LE TYPE GRAPHE ET SES INSTANCES À MANIPULER
Sous-module permettant de stocker les objets manipulant les bases de données. Le modèle représente les données qui vont être utilisées dans l’application. C’est ici que vont être stockées les données, et tout ce qui permet de la modifier (getters, setters, etc.).
Ce sont littéralement des modèles de données.
C'est ici que nous allons implémenter la structure de graphe.
- un noeud est identifié par un label de type chaine de caractères
- le graphe est orienté
- le graphe est pondéré
- il peut y avoir entre deux noeuds plusieurs arêtes de même poids
- les valeurs des noeuds et des arêtes sont non typés, le type vient avec l'usage
- Pour créer un graphe non pondéré, ou des noeuds sans valeur, on utilise la valeur None
Le problème peut être modéliser à l'aide cette structure :
- Chaque entreprise est un sommet/noeud, par souci de lisibilité (affichage), une entreprise pourra être identifiée par un nom.
- Une facture due d’une entreprise A vers une entreprise B est modélisée par un arc étiqueté du sommet A vers le sommet B.
- Il peut y avoir plusieurs arcs d’un nœud vers un autre.
- Il peut y avoir des arcs du nœud A vers le nœud B, et aussi du nœud B vers le nœud A.
Expand source code
#!/usr/bin/python3
# -*- coding: utf8 -*-
# @author : Sébastien LOZANO
"""
# MODELS - IMPLÉMENTE LE TYPE GRAPHE ET SES INSTANCES À MANIPULER
Sous-module permettant de stocker les **objets** manipulant les bases de données.
Le modèle représente les données qui vont être utilisées dans l’application.
C’est ici que vont être stockées les données, et tout ce qui permet de la modifier (getters, setters, etc.).
Ce sont littéralement des modèles de données.
C'est ici que nous allons implémenter la structure de graphe.
- un noeud est identifié par un label de type chaine de caractères
- le graphe est orienté
- le graphe est pondéré
- il peut y avoir entre deux noeuds plusieurs arêtes de même poids
- les valeurs des noeuds et des arêtes sont non typés, le type vient avec l'usage
- Pour créer un graphe non pondéré, ou des noeuds sans valeur, on utilise la valeur None
Le problème peut être modéliser à l'aide cette structure :
- Chaque entreprise est un sommet/noeud, par souci de lisibilité (affichage), une entreprise pourra être identifiée par un nom.
- Une facture due d’une entreprise A vers une entreprise B est modélisée par un arc étiqueté du sommet A vers le sommet B.
- Il peut y avoir plusieurs arcs d’un nœud vers un autre.
- Il peut y avoir des arcs du nœud A vers le nœud B, et aussi du nœud B vers le nœud A.
""" # noqa : E501
# Pour gérer les imports relatifs
import os
import sys
sys.path.append(os.path.dirname(os.path.realpath(__file__)))
Sub-modules
mvc.models.arc
-
Gestion des arcs
mvc.models.graphe
-
Gestion des graphes
mvc.models.model
-
Les modèles pour les différents algorithmes …
mvc.models.noeud
-
Gestion des noeuds