62 votes

Tutoriel MVC qui ne repose pas sur un framework?

Je veux apprendre MVC architecture "modèle", mais je ne veux pas sauter dans un cadre comme des Rails ou Django. Je veux comprendre le concept de la première et écrire du code simple actuellement dans mon environnement familier, qui se trouve être en PHP/HTML/CSS/MySQL. Je n'ai pas forcément besoin d'un tutoriel qui est basé sur PHP, comme je le fais comprendre beaucoup de langues différentes. Et je ne veux pas à avoir à installer des cadres ou des Api ou des bibliothèques. Je veux juste apprendre à penser en MVC et de l'appliquer à mes projets. Toutes les suggestions?

28voto

Sander Points 9804

Presque chaque cadre ne MVC différente, de sorte que vous pourriez finir vers le haut d'obtenir encore plus confus. Les principes généraux de la MVC sont très simples: "Modèle de l'état; vue réagit de modèle; contrôleur réagit à la vue; contrôleur des changements de modèle". Le modèle, la vue et le contrôleur sont des concepts - ils sont tout ce que vous ressentez. Des Classes, des grappes de classes, instances de classes avec des fichiers de configuration XML, you name it.

En fait, je pense que sur couvre les principes de base. Sans un cadre, vous auriez pas beaucoup plus loin. Ce qui importe est de savoir comment un cadre particulier définit modèle, vue et contrôleur et de leurs interactions.

20voto

dbr Points 66401

MVC est fondamentalement, il suffit de diviser votre code dans un Modèle, qui traite des données, une Vue qui affiche les données, et un Contrôleur qui transmet les données à partir du Modèle de la Vue.

Il n'est rien que vous avez besoin d'une API ou d'un cadre, c'est juste une façon de diviser votre code. La raison de nombreux cadres de l'utilisation, c'est parce que c'est un concept très simple, il fonctionne bien pour beaucoup de choses (il s'adapte à des pages web parfaitement), et il est assez souple (par exemple, avec des Rails, vous pourriez faire tout en votre vue, ou modèle/contrôleur, si vous le désiré..)

Un rapide exemple en python, un exemple MVC structuré script Python. Pas nécessairement des "meilleures pratiques", mais il fonctionne, et il est assez simple:

class Model:
    def get_post(self, id):
        # Would query database, perhaps
        return {"title": "A test", "body": "An example.."}

class Controller:
    def __init__(self):
        self.model = Model()
        self.view = View()

    def main(self):
        post = self.model.get_post(1)
        self.view.display(post)

class View:
    def display(self, item):
        print "<h1>%(title)s</h1>\n%(body)s" % item

c = Controller()
c.main()

17voto

fhe Points 3969

Les documents originaux de Trygve Reenskaug sont l’une des ressources les plus intéressantes. Wikipedia dispose également de nombreuses informations non liées à la langue sur MVC.

7voto

troelskn Points 51966

En plus de la réponse de Sander, je dirais que la plupart des frameworks confondent contrôleur frontal et MVC . Ce sont en réalité deux concepts complètement séparés, mais ils sont souvent présents dans les frameworks. Alors faites attention à cela.

7voto

Matt Farina Points 394

Consultez cette description, cet exemple et ce diagramme qui couvrent les bases de MVC .

MVC est une excellente configuration pour des conceptions simples, mais il est souvent confondu avec PAC, qui est similaire et perfectionne davantage sur MVC. Les deux configurations sont géniales les deux liens donnent des informations pour les aider à être compréhensibles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X