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?
Réponses
Trop de publicités?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.
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()
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.
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.