Python设计模式是什么?Python入门

  设计模式想必大家都比较熟悉,它是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式可以让代码更容易被他人理解、保证代码的可靠性,而且使用设计模式还需要遵循一定的原则。那么Python设计模式有哪些呢?我们一起来看看吧。

  Python设计模式主要分为三大类:创建型模式、结构型模式、行为型模式;三 大类中又被细分为23种设计模式,以下这几种是最常见的。

  单例模式:是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个是实例时,单例对象就能派上用场。单例对象的要点有三个:一是某个类只能有一个实例;二是它必须自行创建整个实例,三是它必须自行向整个系统提供这个实例。

  工厂模式:提供一个创建对象的接口,不像客户端暴露创建对象的过程,使用一个公共的接口来创建对象,可以分为三种:简单工厂、工厂方法、抽象工厂。一个类的行为或其算法可以在运行时更改,这种类型的设计模式属于行为型模式。

  策略模式:是常见的设计模式之一,它是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。换句话来讲,就是针对一个问题而定义出一个解决的模板,这个模板就是具体的策略,每个策略都是按照这个模板进行的,这种情况下我们有新的策略时就可以直接按照模板来写,而不会影响之前已经定义好的策略。

  门面模式:门面模式也被称作外观模式。定义如下:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。门面模式注重统一的对象,也就是提供一个访问子系统的接口。门面模式与模板模式有相似的地方,都是对一些需要重复方法的封装。但本质上是不同的,模板模式是对类本身的方法的封装,其被封装的方法也可以单独使用;门面模式,是对子系统的封装,其被封装的接口理论上是不会被单独提出来使用的。

(0)

相关推荐

  • 2.7万 Star!最全面的 Python 设计模式集合

    [导语]:设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易地被他人理解.保证代码可靠性.python-patterns 则是使用 ...

  • python patterns-Python中的设计模式集合

    创意设计模式 这些设计模式都是关于类实例化的.该模式可以进一步分为类创建模式和对象创建模式.虽然类创建模式在实例化过程中有效地使用了继承,但是对象创建模式有效地使用了委派来完成工作. 抽象工厂:创建多 ...

  • 创建型设计模式总结

    Intro 前面几篇文章已经把创建型设计模式都介绍了,来做一个简单的总结. 创建型设计模式,就是用来创建对象的设计模式,根据要创建的对象的复杂度以及是否允许多实例以及是否需要容易扩展等多方面考虑去选择 ...

  • Python单例模式(Singleton)的N种实现

    很多初学者喜欢用全局变量,因为这比函数的参数传来传去更容易让人理解.确实在很多场景下用全局变量很方便.不过如果代码规模增大,并且有多个文件的时候,全局变量就会变得比较混乱.你可能不知道在哪个文件中定义 ...

  • 模式识别:人类和机器学习的基础

    来源:沈浩老师 前言 人类能很轻易的在人群中一眼认出自己的熟人,同时,人类也具有分辨不同物体的能力.对于人和动物而言,凭借自身的记忆和学习能力,能够很轻易地把握自己所见物体的特征或属性,从而对不同物体 ...

  • 现在Python发展怎么样?Python入门

    当大家问及现在哪门编程语言最火?我该学习哪门编程语言呢?很多人肯定会推荐Python.Python是现在非常热门的编程语言,尤其是随着人工智能.大数据时代的到来,Python变得异常火爆.那么Pyth ...

  • Access和Python有什么区别?入门分享!

    Access和Python学哪个好?当然是Python了,虽然Access和Python都是大数据技术的组成部分,但Python要比Access更具优势. Access是数据库管理系统,Python是 ...

  • VB.NET和Python学习哪个好?入门分享!

    我想大家都知道,VB.NET和Python同属于编程语言,而且都是面向对象的编程语言,那么VB.NET和Python之间有什么不同呢?我想大家都比较好奇,接下来通过这篇文章来看看吧. 其实Python ...

  • Python 数据分析师必备的入门学习路线和技能

    最近几年,做的这些项目,大多与数据分析与算法应用相关.岗位虽然是算法工程师,但是与数据分析打得交道也很多,双管齐下,最后才能确保算法的落地.在几年前,我还想当然地认为做算法的就应该偏重算法研究与应用, ...

  • 学习Python基础教程-在线编程入门-Python教学

    小白也能学会的Python入门课程:就在AI大学堂官网. https://www.aidaxue.com/activity/mutual 课程介绍: 无需安装任何环境,即刻开始学习 在线编程环境,帮你 ...

  • Python的控制语句介绍!入门学习

    学习python的人应该都听说过python的控制语句,那么你知道Python的控制语句有哪些吗?我们一起来看看吧. Python的设计目标之一是让代码具备高度的可阅读性.它设计时尽量使用其它语言经常 ...

  • Python进阶之NumPy快速入门(一)在里面输入conda install numpy命令

    (在里面输入conda install numpy命令) https://m.toutiao.com/is/JT3FDcW/ 前言 NumPy是Python的一个扩展库,负责数组和矩阵运行.相较于传统 ...

  • Python Pandas是什么?Python基础入门

    近年来,随着人工智能.大数据的发展,数据分析行业迎来爆发期,人才需求持续增长,转行数据分析的人越来越多.说起数据分析,小编为大家介绍一个数据分析工具-Pandas. Pandas是什么? Pandas ...