Django基础(1)--预备知识

软件架构

软件架构(software architecture)是一个系统的草图,其描述的对象是直接构成系统的抽象组件。各个组件之间的连接明确和相对细致地描述组件之间的通讯。设计软件架构就是把系统分解为一些部件,描述这些部件的职责及它们之间的协作行为,并达成目标:可靠性/安全性/可扩展/客户体验等。

软件框架

软件框架(software framework)是面向领域的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。也就是说软件框架是领域分析结果的软件化,是领域内最终应用的模板,是特定语言和技术的架构应用解决方案。

MVC框架

是一种软件设计模式,但位于GoF总结的23个设计模式之外,其是多种设计模式的组合,其产生的理念为分工,核心思想为解耦
在不同的开发背景下MVC三者的交互模式及具体职责会有不同(核心思想不变),应用在web后端开发中为web MVC框架,其交互模式如下图所示:

M:model,负责与数据库进行交互,应用程序调用,业务逻辑判断,选择V;
C:controller,负责接收请求并处理,选择合适的模型,与M,V进行交互,传递请求与结果;
V:view,负责渲染HTML页面,不包含业务逻辑,不与M交互;
web MVC框架
注意在其他开发环境下,V与M可能要进行同步与交互,与用户交互的可能是V,但三者分工的主体思想不变。

MVC框架与三层架构

三层架构即将整个业务应用分为三层:

表现层:UI,展示给用户的界面;
业务逻辑层,BLL,针对具体问题的操作,对数据的逻辑处理;
数据访问层,DAL,直接操作数据库,针对数据的增删查改;

其与MVC是不同的架构模式,三层架构中,各层是典型的上下关系,但在MVC中是协作关系,其设计思想都是分工解耦,两者并不冲突,一般设计时会同时运用两者的思想,若将MVC框架使用三层架构来区分,则相当于V、C和一部分M共同构成UI层,剩下的M再分为BLL与DAL层。

MVT框架

是Django特有的框架设计,其交互方式与web MVC类似但不相同,其对比如下表所示:

MVCMVT
M(model)负责与数据库进行交互,应用程序调用,业务逻辑判断,选择VM(model)负责与数据库进行交互
V(view)负责渲染HTML页面,不包含业务逻辑,不与M交互V(view)负责接收用户请求,获取数据,选择T,返回结果
C(controller)负责接收请求并处理,选择合适的模型,与M,V进行交互,传递请求与结果T(template)负责提供模板

在MVT框架中views是核心内容,所有的业务逻辑都是在此中完成。

虚拟环境

是对真实环境的复制,为了解决不同的项目支持不同版本的软件/包和软件/项目兼容性等问题,对原始环境进行了复制,在虚拟环境中即副本中进行修改。虚拟环境不影响真实环境,可以同时存在多个。
虚拟环境的创建流程如下:

mkdir myproject
cd myproject
python3 -m venv venv
source 虚拟环境名/bin/activate  # 激活虚拟环境
deactivate  # 退出虚拟环境
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值