Python 设计模式 — Overview

网友投稿 585 2022-05-30

目录

文章目录

目录

设计模式(Design Pattern)

设计模式的分类

一、创建型模式

二、结构型模式

三、行为型模式

设计模式(Design Pattern)

设计模式(Design Pattern)是几十年来的开发人员经过了长时间的试验和摸索,总结出来的一套程序设计标准。无论你使用哪种编程语言,做什么类型的项目,甚至处在一个国际化的开发团队中,当面对同一个设计模式时,你和别人的理解依旧是别无二致。几乎所有的大型软件、编程语言、框架都使用了这些标准。

设计模式可以从 2 个方面来理解:

设计:用来解决特定问题的优秀解决方案。

模式:具有通用性的执行方式。

设计模式的作用:

提高代码的可读性、可靠性、可复用性,使编程真正工程化;

便于后期维护项目,增强系统的健壮性和扩展性;

锻炼程序员的设计思维,提高代码质量。

设计模式具有以下特点:

在架构级别来解决问题。

经过了时间的验证和良好的证明,是开发人员和架构师的宝贵经验。

具有可靠性和依赖性。

设计模式很有用,但它要用到合适的场景中才能发挥应有的效果,否则可能出现弊大于利的情况。GoF 在《Design Patterns: Elements of Reusable Object-Oriented Software》一书中提出了 23 种设计模式,可归纳为 3 大类。

这些设计模式在 OOP(面向对象编程语言)中使用最多。值得注意的是,因为 Python 拥有一等函数,所以通常的在语法层面就具备了某些设计模式的特性,也减少了某些设计模式的样板代码。

设计模式的分类

一、创建型模式

创建型模式,用于控制或影响一个类的实例化对象的创建过称。为不同的应用场景提供相应的实例化对象的方式。例如:单例模式。

单例模式:控制实例化对象的数量只存在一个。

工厂方法模式:控制实例化对象时候的类的选择。

抽象工厂模式:控制实例化对象时候的类的选择。

建造者模式:控制多个类以相同的流程来实例化对象。

原型模式:通过深度复制原型类让类的多个实例化更加的迅速。

二、结构型模式

结构型模式,应用于类和对象的构造方式,为不同的应用场景提供相应的类和对象之间的构造关系,使得这些实体能够更好地协同工作。例如:适配器模式。主要关注类的继承和组合,致力于设计出通过组合获得更强大功能的对象和类的结构。

适配器模式:将任意个被适配者(类或系统)中的方法封装成为一个统一的接口来调用,从而达到适配各种系统方法的目的。

桥接模式:处理(类)抽象部分与(实例化)对象部分之间的结构,使得抽象部分和实例化部分能够单独变化而不互相干扰。

组合模式:用于设计一个有层次等级的系统,并处理各层次之间的关系。

装饰模式:通过装饰器来扩展一个类或者系统的功能。

外观模式:为任意个子系统中的相似功能设计一组统一的界面。

享元模式 :让小粒度高频使用的类被共享,减少实例化过程,减少损耗。

代理模式:为其他对象提供一种代理,以此控制一个对象的访问方式。Client 必须通过代理访问,而不能直接访问。

三、行为型模式

行为型模式,应用于对象之间的交互方式,为不同的应用场景提供相应的通信方式,为实体之间的通信提供更容易、更灵活的通信方法。

解释器模式

模板方法模式

责任链模式

命令模式

迭代器模式

中介者模式

备忘录模式

观察者模式

状态模式

策略模式

Python 设计模式 — Overview

访问者模式

Python

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:浅析SaaS软件和传统软件交付模式的区别
下一篇:[NAS论文][Transformer][预训练模型]精读NAS-BERT
相关文章