仿天猫网站开发笔记(2):理解MVC模型
来源:互联网 发布:windows.hlp官方下载 编辑:程序博客网 时间:2024/06/18 00:29
最开始接触MVC的概念,不是在web开发上,而是在游戏开发。在Unity3D中有一个插件叫做StrangeIoc。它是依据控制反转和解耦原理设计的,并且支持依赖注入。这里我简单介绍一下这几个概念。
- 控制反转Ioc(Inversion of Control):我在之后学习java spring框架时再次巩固了这个概念。简单来说,就是将原有的直接控制对象的方式改为将对象的控制权交给一个“容器”,让它完成对象组件的装配和管理。
- 依赖注入(Dependency Injection):,简单说就是一种实现控制反转的方式。
- 解耦:控制反转的目的是为了解耦,所谓解耦,就是让程序模块之间的耦合变弱。不会牵一发而动全身。便于项目维护。
以上简单介绍了一下strangeIoc,书归正传,咱们继续聊Django,当创建一个Django应用时,文件中有四个文件,分别是:
- models.py 也就是模型层(model),django用这个文件中的类来表示数据表。对数据表的操作其实就是对类的操作,这就是ORM(对象关系映射ObjectRelationalMapping)
- views.py就是控制层(controller),在这里敲主要的业务逻辑
- templates文件夹下的HTML文件,也就是视图层(view.py),django内置了一套模板语言。并且限制在模板中不能使用python代码。模板语言包括块标签(实现简单逻辑)、变量和过滤器。
- urls.py 将url和视图对应起来。用户在游览一个网址时,实际上调用了相应的view.py文件中的方法。方法最终返回一个模板(template)
正如前文所言,这种设计模式的关键优势就在于各种组件之间是松散结合的,也就是我们所谓的解耦。这和最原始的CGI开发有本质的区别。
上图就是我整理的Django的工作原理图。
图中标黄的部分是django的核心——中间件。所谓中间件(middleware)就是处理HTTP的request和response的。类似插件。
一般我们在编写 view 层函数的时候,都以 return response 或者 return HttpResponse(x) 结尾。当了解了中间件的存在后,才有一种恍然大悟的感觉。
阅读全文
0 0
- 仿天猫网站开发笔记(2):理解MVC模型
- 如何理解MVC模型
- MVC模型的理解
- MVC模型在界面开发中的应用理解
- 网站开发积累(对MVC设计模式的理解)
- 软件开发:MVC模型
- MVC开发模型浅谈
- (笔记)Spring MVC学习指南_模型2和MVC模式
- MVC模型的简单理解
- Asp.Net MVC(理解模型、视图和控制器) - Part.2
- Asp.Net MVC(理解模型、视图和控制器) - Part.2
- MVC模式理解(JavaFX开发客户端)
- MVC模型理解(参考部分百度文库内容)
- 理解对象模型OMD(课堂笔记)
- C++网站开发MVC框架TreeFrog Framework教程——6.模型层
- iOS开发之MVC模型
- 杂说Android开发--MVC模型
- Javascript MVC 学习笔记(一) 模型和数据
- C++第五次作业-求和-数组分离
- MySQL13-事务
- Android
- linux去除\r(window中编辑的文本)
- 数组指针和指针数组
- 仿天猫网站开发笔记(2):理解MVC模型
- java list随机抽取元素
- SQL语句优化分析
- JAVA 编码转换
- Android src和background的区别
- Java Hibernate 之 CRUD 操作
- 51 Nod1385凑数字
- iOS 获取Frame值异常
- linux学习之apache