📝 Python设计模式教程
32篇技术文档📅  最后修改于: 2020-11-07 09:03:41        🧑  作者: Mango
本教程介绍了各种类型的设计模式及其在Python脚本语言中的实现。本教程将通过使用Python概念的不同方法和示例带您过山车。本教程旨在使程序员和开发人员的基础和中级水平受益。先决条件在继续本教程之前,假定用户已经了解基本的Python编程概念。...
📅  最后修改于: 2020-11-07 09:04:00        🧑  作者: Mango
设计模式用于表示开发人员用于创建软件或Web应用程序的模式。这些模式是根据需求分析选择的。模式描述问题的解决方案,何时何地应用解决方案以及实施的后果。设计模式的结构设计模式的文档维护方式更加侧重于所使用的技术以及采用何种方式。下图说明了设计模式文档的基本结构。模式名称它以简短有效的方式描述了模式。目的/动机它描述了模式的作用。适用性它描述了适用模式的情况列表。参与者与后果参与者包括参与设计模式的类...
📅  最后修改于: 2020-11-07 09:04:23        🧑  作者: Mango
Python是一种开放源代码的脚本语言,它是高级,解释性,交互式和面向对象的。它被设计为高度可读的。 Python语言的语法易于理解,并且经常使用英语关键字。Python语言的功能在本节中,我们将学习Python语言的不同功能。口译在运行时使用解释器处理Python 。无需在执行之前编译程序。它类似于PERL和PHP。面向对象Python遵循面向对象的样式和设计模式。它包括具有各种特性的类定义,例...
📅  最后修改于: 2020-11-07 09:04:43        🧑  作者: Mango
模型视图控制器是最常用的设计模式。开发人员发现实现此设计模式很容易。以下是Model View Controller的基本架构-现在让我们看看该结构是如何工作的。模型它由与数据库交互的纯应用程序逻辑组成。它包括所有信息,以表示最终用户的数据。视图视图表示与最终用户交互的HTML文件。它向用户表示模型的数据。控制者它充当视图和模型之间的中介。它监听由视图和查询模型触发的事件。Python代码让我们考...
📅  最后修改于: 2020-11-07 09:04:57        🧑  作者: Mango
这种模式将类的实例化限制为一个对象。它是一种创建模式,仅涉及一个类来创建方法和指定的对象。它提供了对创建实例的全局访问点。如何实现单例课程?下面的程序演示了singleton类的实现,其中将打印多次创建的实例。输出上面的程序生成以下输出-创建的实例数相同,并且输出中列出的对象没有差异。...
📅  最后修改于: 2020-11-07 09:05:16        🧑  作者: Mango
生成器模式是一种独特的设计模式,可帮助使用简单对象构建复杂对象并使用算法方法。该设计模式属于创作模式类别。在此设计模式中,构建器类按逐步过程构建最终对象。该构建器独立于其他对象。建造者模式的优势它在类创建的指定对象的构造和表示之间提供了清晰的分隔和唯一的层。它可以更好地控制所创建模式的构建过程。它提供了更改对象内部表示的完美方案。如何实现构建器模式?在本节中,我们将学习如何实现构建器模式。输出上面...
📅  最后修改于: 2020-11-07 09:05:34        🧑  作者: Mango
原型设计模式有助于隐藏类创建的实例的复杂性。现有对象的概念与从头创建的新对象的概念不同。如果需要,新复制的对象可能会对属性进行一些更改。这种方法节省了开发产品所需的时间和资源。如何实现原型模式?现在让我们看看如何实现原型模式。输出上面的程序将生成以下输出-输出有助于使用现有对象创建新对象,并且在上述输出中清晰可见。...
📅  最后修改于: 2020-11-07 09:05:55        🧑  作者: Mango
外观设计模式为子系统中的一组接口提供了统一的接口。它定义了任何子系统都可以使用的高级接口。外观类知道哪个子系统负责请求。如何设计立面图案?现在让我们看看如何设计外观图案。输出上面的程序生成以下输出-说明该程序是根据场景设计的。它是启动汽车或任何行驶中的车辆的引擎的过程。如果您遵守该代码,则该代码还包含相关的驱动,停车和燃料消耗功能。...
📅  最后修改于: 2020-11-07 09:06:10        🧑  作者: Mango
命令模式在动作之间添加了一个抽象级别,并包括一个对象,该对象调用这些动作。在此设计模式中,客户端创建一个命令对象,其中包括要执行的命令列表。创建的命令对象实现特定的接口。以下是命令模式的基本架构-如何实现命令模式?现在,我们将看到如何实现设计模式。输出上面的程序生成以下输出-说明输出实现以Python语言列出的所有命令和关键字。它打印变量的必要值。...
📅  最后修改于: 2020-11-07 09:06:30        🧑  作者: Mango
适配器模式充当两个不兼容接口之间的桥梁。这种设计模式属于结构模式,因为该模式结合了两个独立接口的功能。此模式涉及单个类,该类负责加入独立或不兼容接口的功能。现实生活中的例子可能是读卡器,它充当存储卡和笔记本电脑之间的适配器。您将存储卡插入读卡器,将读卡器插入便携式计算机,以便可以通过便携式计算机读取存储卡。适配器设计模式有助于将类一起工作。它将根据需要将类的接口转换为另一个接口。该模式包括一个物种...
📅  最后修改于: 2020-11-07 09:06:49        🧑  作者: Mango
装饰器模式允许用户向现有对象添加新功能,而无需更改其结构。这种设计模式属于结构模式,因为该模式充当现有类的包装。此模式创建一个装饰器类,该类包装原始类并提供其他功能,以使类方法的签名保持完整。装饰器模式的动机是动态地附加对象的其他职责。如何实现装饰器设计模式下面提到的代码简单演示了如何在Python实现装饰器设计模式。插图涉及以班级形式展示咖啡店。创建的coffee类是一个抽象类,这意味着它不能被...
📅  最后修改于: 2020-11-07 09:07:05        🧑  作者: Mango
代理设计模式包括一个新对象,该对象称为“代理”,代替了一个称为“真实主体”的现有对象。由真实主题创建的代理对象必须以相同的方式位于同一接口上,以使客户端不应该知道使用代理代替真实对象。客户端生成的对代理的请求将通过真实主题传递。代理模式的UML表示如下-如何实现代理模式?现在让我们看看如何实现代理模式。输出上面的程序生成以下输出-代理模式设计有助于复制我们创建的图像。 display_image(...
📅  最后修改于: 2020-11-07 09:07:29        🧑  作者: Mango
责任链模式用于在软件中实现松散耦合,其中来自客户端的指定请求通过其中包含的对象链传递。它有助于构建对象链。该请求从一端进入,然后从一个对象移动到另一对象。此模式允许对象发送命令而无需知道哪个对象将处理请求。如何实施责任链模式?现在,我们将看到如何实施责任链模式。输出上面的程序生成以下输出-说明上面的代码创建了每月任务的报告,并在其中通过每个函数发送命令。它需要两个处理程序– PDF和文本。一旦所需...
📅  最后修改于: 2020-11-07 09:07:45        🧑  作者: Mango
在这种模式下,对象被表示为等待事件触发的观察者。一旦发生指定的事件,观察者将附加到主题上。当事件发生时,主题告诉观察者它已经发生。以下UML图表示观察者模式-如何实现观察者模式?现在让我们看看如何实现观察者模式。输出上面的程序生成以下输出-说明上面的代码说明了下载特定结果的过程。根据观察者模式逻辑,每个对象都被视为观察者。当事件触发时,它将打印输出。...
📅  最后修改于: 2020-11-07 09:07:59        🧑  作者: Mango
它为状态机提供了一个模块,该模块使用从指定状态机类派生的子类实现。这些方法是独立于状态的,并导致使用装饰器声明的转换。如何实现状态模式?状态模式的基本实现如下所示-输出上面的程序生成以下输出-...