Bonjour,
Je suis étudiant en info et j’essaie de pratiquer le pattern MVC et la programmation orientée objet, mais je bloque un peu sur comment utiliser le MVC.
Je fais un petit blog avec Bottle en Python.
J’ai créé trois classes, soit une pour le modèle, une pour la vue et une pour le controlleur.
Dans mon contrôleur j’instancie la classe Bottle pour l’application principale, je créer une instance du modèle et une instance de la vue.
Ensuite dans mon modèle je reçois l’application (l’instance de Bottle) depuis le contrôleur, je créer une route pour ma page d’accueil qui appelle l’instance de la vue dans le controlleur et enfin dans la vue j’ai une simple fonction qui retourne un template.
Là où j’hésite, c’est à savoir si ce que je fais au niveau de l’appel du template répond bien au pattern MVC.
Bon c’est vraiment très très basique encore comme code, mais je ne veux pas partir du mauvais pied.
On a fait pas mal de code en classe et je pensais tout bien comprendre, mais entre partir d’un code fourni par le prof pour bidouiller dedans en équipe et se débrouiller totalement seul de a à z, c’est pas la même chose.
Merci pour votre aide !
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #!/usr/bin/env python #-*-coding:utf8-*- from bottle import Bottle, run, template class Model(): def __init__(self, parent): self.app = parent.app self.home = self.app.route("/")(self.home) def home(self): self.parent.view.render_home() class View(): def __init__(self, parent): self.parent = parent def render_home(self): return template('home') class Controller(): def __init__(self): self.app = Bottle() self.view = View(self) self.model = Model(self) def runApp(self, host, port, debug): run(self.app, hostname=host, port=port, debug=debug) if __name__ == "__main__": c = Controller() c.runApp("localhost", "8080", True) |