编程必修课:面试被问设计模式

设计模式

所谓设计模式,就是面向对象编程中的各种现成的套路,也可以说是经验总结,是许多前辈技术人员经过长期实践总结出来的优质解决方案

针对不同的需求场景,选择合适的设计模式尤为重要,可以提高代码的可读性,增加代码的重用性,保证代码的可扩展性

设计模式是在面向对象语言之间通用的,而对于面向过程的编程语言是没有意义的


【1】设计模式大致分类

  1. 创建型设计模型:这一类设计模型的目的在于创建对象
    在这里插入图片描述

  1. 结构型设计模式:这一类设计模式的目的是优化不同类、对象、接口之间的结构关系
    在这里插入图片描述

  1. 行为型模式:这一类设计模式的目的是更好地实现类与类之间的交互以及算法地执行
    在这里插入图片描述

随着技术的发展,现在还有非常多的设计模式在诞生,例如:并发型模式,生产者消费模式,发布订阅模式……


【2】MVC模式

在Web开发中MVC模式是比较流行的,MVC更多的在研究模块之间的关系,给出解决办法,所以MVC也可以理解为是一种架构模式

MVC(Model-View-Controller)模型-视图-控制器模式

  1. Model模型:即数据模型

Model并不是数据本身,而是抽象的描述数据的构成和逻辑关系。通常Model包含了数据表的各个字段和相互关系(单对单,单对多……),==数据库的数据表会根据模型的定义创建

  1. View视图:主要用于显示数据或提供GUI

生成.html文件

  1. Controller控制器:作用于模型和视图之上,负责控制用户输入,从视图读取数据,向模型发送数据(CRUD)

在这里插入图片描述


MVC最大优点:实现了软件/网络应用开发过程中数据业务逻辑和界面的分离,使软件开发更加清晰,维护变得更容易

更大层面的模块化


【3】Django框架如何遵循MVC

Django框架的四件套:

  • Model模型
  • URL链接
  • View视图
  • Template模板
    在这里插入图片描述

Django框架的架构称为“MVT”架构,其实和MVC是一样的,只是改了个名字

  • Django Model模型:与MVC模式的Model模型一样
  • Django URL+View视图:更接近于经典MVC模式下的Controller控制器
  • Django Template模板:与经典MVC下的Views视图一致(Template模板里包含了表单)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值