采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
最近面试,遇到几个问题,问了设计模式,我看了好几个项目,项目里都没有用到设计模式。 面试官会问,你知道哪些设计模式,在项目里用在哪里。 第一问题,我能答出来,因为跟java差不多, 第二个问题,就不知道了,不知道python的设计模式,在项目中,一般是用在什么地方的
有些库都是封装了 我们只是调用对方的api而已,像工厂模式,单例模式都是可以说的,一般在一些库的源码层面可能会用到某种设计模式,这个上网补充下相关知识,下次被问到就不会担心了,面试都是这样,多次积累经验,下次面试就更加容易
说用别的库不现实,面试官就是想知道,在你自己的项目里,你写了哪些设计模式,用在哪里,因为没有具体的项目经验,所以不知道用在哪里。不能说是第三方库用到
他的问题只是看你知不知道而已,你完全可以在自己项目中利用工厂类去做对象的生成,或者自己实现数据库连接的单例模式,保证只实例化一次,这些都可以在面试中提及,有的时候面试官并不在乎你是否在项目中用过,只是看你对这些点有没有涉及,知识面的广度够不够。
现在很多设计模式都是通过java讲解的,是因为java这类静态语言限制很大,为了将一些好的经验沉淀下来就总结成了一门设计模式的课程。但是有写设计模式本身是为了解决静态语言的诸多限制而成的,有一些设计模式在python中天然就存在。如果硬要去将这些东西套用设计模式的话,那就证明面试官还是带着静态语言的思维去强行理解动态语言,不过确实有一些设计模式在动态语言和静态语言中都是通用的,比如 组合模式。在django rest framework中基本上整体都是组合模式的优秀代表, python有人专门写过书讲解python 设计模式 https://item.jd.com/12472683.html#none 你可以看看这个
登录后可查看更多问答,登录/注册
一套通用的技术组合拳,助你解决大部分Python类网站后端问题
1.4k 18
1.7k 15
1.9k 13
2.2k 13
977 12