Python有设计模式吗?
Python设计模式主要分为三类:创造模式、结构模式和行为模式;这三个类别又细分为23种设计模式,以下是最常见的。
Singleton模式:它是一种常见的软件设计模式,主要目的是确保一个类只存在一个实例。当整个系统中只需要一个类的实例时,单例对象就派上了用场。singleton对象主要有三点:第一,一个类只能有一个实例;第二,它必须自己创建整个实例,第三,它必须自己向整个系统提供这个实例。
工厂模式:它提供了创建对象的接口,不像客户端公开创建对象的过程。它使用公共接口创建对象,对象分为简单工厂、工厂方法和抽象工厂三种。类或其算法的行为可以在运行时改变。这种类型的设计模式属于行为模式。
策略模式(Strategy pattern):常见的设计模式之一,它指的是定义一系列算法,将每个算法封装起来,并使其可替换。策略模式允许算法独立于使用它的客户而改变。换句话说,就是定义一个解决问题的模板。这个模板就是一个具体的策略,每一个策略都是按照这个模板来执行的。这种情况下,当我们有了新的策略时,可以直接按照模板来写,不影响之前定义的策略。
门面模式:门面模式也叫外观模式。定义如下:子系统外部与其内部的通信必须通过统一的对象进行。facade模式提供了一个高级接口,使得子系统更易于使用。facade模式侧重于统一对象,即提供访问子系统的接口。facade模式类似于template模式,它封装了一些需要重复的方法。但是,本质上是不同的。模板模式封装了类本身的方法,其封装的方法也可以单独使用。Facade模式是子系统的封装,其封装的接口理论上不会提出单独使用。