Created
November 16, 2024 22:03
-
-
Save GravenilvecTV/2ac2f478f381e00b563225b0d01a0305 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class UserManager: | |
def __init__(self): | |
# Simuler une base de données avec un dictionnaire | |
self.users = { | |
1: {"name": "Alice", "age": 30}, | |
2: {"name": "Bob", "age": 25}, | |
3: {"name": "Charlie", "age": 35} | |
} | |
def get_user_info(self, user_id): | |
"""Récupérer et afficher les informations d'un utilisateur.""" | |
user = self.users.get(user_id, None) | |
if user: | |
print(f"Nom: {user['name']}, Âge: {user['age']}") | |
else: | |
print("Utilisateur non trouvé.") | |
def add_user(self, user_id, name, age): | |
"""Ajouter un nouvel utilisateur et afficher un message.""" | |
self.users[user_id] = {"name": name, "age": age} | |
print(f"Utilisateur {name} ajouté avec succès!") | |
def run(self): | |
"""Méthode qui combine l'ajout d'un utilisateur et l'affichage de ses infos.""" | |
# Ajout d'un utilisateur | |
self.add_user(4, "David", 28) | |
# Affichage des informations du nouvel utilisateur | |
self.get_user_info(4) | |
# Exécution de l'application | |
if __name__ == "__main__": | |
user_manager = UserManager() | |
user_manager.run() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Partie 1: Gestion des données (Data Access Layer) | |
class UserData: | |
def __init__(self): | |
# Simuler une base de données avec un dictionnaire | |
self.users = { | |
1: {"name": "Alice", "age": 30}, | |
2: {"name": "Bob", "age": 25}, | |
3: {"name": "Charlie", "age": 35} | |
} | |
def get_user_by_id(self, user_id): | |
"""Récupérer un utilisateur par son identifiant.""" | |
return self.users.get(user_id, None) | |
def add_user(self, user_id, name, age): | |
"""Ajouter un nouvel utilisateur.""" | |
self.users[user_id] = {"name": name, "age": age} | |
# Partie 2: Logique métier (Business Logic Layer) | |
class UserService: | |
def __init__(self, user_data): | |
self.user_data = user_data | |
def get_user_info(self, user_id): | |
"""Obtenir les informations d'un utilisateur avec logique métier.""" | |
user = self.user_data.get_user_by_id(user_id) | |
if user: | |
return f"Nom: {user['name']}, Âge: {user['age']}" | |
else: | |
return "Utilisateur non trouvé." | |
def add_new_user(self, user_id, name, age): | |
"""Ajouter un nouvel utilisateur avec une logique métier.""" | |
self.user_data.add_user(user_id, name, age) | |
return f"Utilisateur {name} ajouté avec succès!" | |
# Partie 3: Présentation (Presentation Layer) | |
class UserInterface: | |
def __init__(self, user_service): | |
self.user_service = user_service | |
def show_user_info(self, user_id): | |
"""Afficher les informations de l'utilisateur.""" | |
print(self.user_service.get_user_info(user_id)) | |
def add_user(self, user_id, name, age): | |
"""Ajouter un utilisateur via l'interface.""" | |
print(self.user_service.add_new_user(user_id, name, age)) | |
# Partie 4: Application principale | |
def main(): | |
# Initialisation des différentes couches | |
user_data = UserData() | |
user_service = UserService(user_data) | |
user_interface = UserInterface(user_service) | |
# Ajout d'un nouvel utilisateur | |
user_interface.add_user(4, "David", 28) | |
# Affichage des informations d'un utilisateur existant | |
user_interface.show_user_info(4) | |
if __name__ == "__main__": | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment