当前位置:  开发笔记 > 编程语言 > 正文

MVC教程不依赖于框架?

如何解决《MVC教程不依赖于框架?》经验,为你挑选了6个好方法。

我想学习MVC"架构模式",但我还不想进入像Rails或Django这样的框架.我想首先理解这个概念,然后在我目前熟悉的环境中编写一些简单的代码,恰好是PHP/HTML/CSS/MySQL.我不一定需要一个基于PHP的教程,因为我了解很多不同的语言.我不想安装任何框架或API或库.我只是想学习如何在MVC中思考并将其应用到我的项目中.有什么建议?



1> Sander..:

几乎每个框架都以不同的方式执行MVC,因此您最终可能会变得更加困惑.MVC的一般原则非常简单:"模型是状态;视图对模型作出反应;控制器对视图作出反应;控制器改变模型".模型,视图和控制器都是概念 - 它们是您认为的任何概念.类,一串类,带有XML配置文件的类的实例,您可以为其命名.

我实际上认为这涵盖了基本原则.没有框架,你就不会得到更多.重要的是特定框架如何定义模型,视图和控制器及其交互.


没关系.我只是不想要学习别人框架的额外包袱.我想要理论,思想.这就是我们过去常常做CS的方式.我不介意建立一个基本的自定义框架.如果这就是它所需要的,那就这样吧.
框架是MVC抽象概念的具体表现.即使您不使用预制框架,您也会在此过程中创建自己的表现形式.

2> dbr..:

MVC基本上只是将代码拆分为处理数据的Model,显示数据的View,以及将Model中的数据传递给View的Controller.

你不需要API或框架,它只是一种分解你的代码的方式.许多框架使用它的原因是因为它是一个非常简单的概念,它适用于很多东西(它非常适合网页),而且相当灵活(例如,使用Rails,你可以在你的视图中做任何事情,或模型/控制器) ,如果你这么想..)

一个示例MVC结构化Python脚本的python示例.不一定是"最佳实践",但它有效,而且非常简单:

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 "

%(title)s

\n%(body)s" % item c = Controller() c.main()



3> fhe..:

其中一个最有趣的资源是Trygve Reenskaug 的原始论文.维基百科还有很多与MVC无关的语言信息.



4> troelskn..:

除了Sander的回复之外,我会说大多数框架都混淆了前端控制器MVC.它们实际上是两个完全独立的概念,但它们通常都存在于框架中.所以要小心.



5> Matt Farina..:

查看介绍MVC基础知识的描述,示例和图表.

MVC是简单设计的绝佳设置,但它经常与PAC混淆,后者与MVC类似并进一步发展.这两个设置都很棒,两个链接提供的信息可以帮助他们理解.



6> Ixion..:

不要问我怎么样,但是我从一个关于设计模式主题的优秀wiki中看到了这个条目:

http://www.c2.com/cgi-bin/wiki?ModelViewController

大量有趣的讨论和各种资源的指针.

我花了六天才找到它!

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有