编辑
2026-04-01
undefined
00

目录

设计模式
单例模式
Python实现
工厂模式
Python实现
模板模式

设计模式

一个问题通常有n种解法,其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式。

设计模式有20多种,对应20多种软件开发中会遇到的问题。

单例模式

确保一个类只有一个对象。

写法:

  • 把类的构造器私有
  • 定义一个类变量记住类的一个对象
  • 定义一个类方法,返回对象

Python实现

a.py文件: class Tools: pass

tool = Tools()

b.py文件:from a import tool t1 = tool t2 = tool print(t1) print(t2)

工厂模式

当需要大量创建一个类的实例的时候,可以使用工厂模式。即,从原生的使用类的构造去创建对象的形式,迁移到,基于工厂提供的方法去创建对象的形式。

Python实现

class Person: pass

class Teacher(Person): pass

class Student(Person): pass

class Factory: def get_person(self, p_type): if p_type == "t": return Teacher() elif p_type == "s": return Student()

factory = Factory() teacher = factory.get_person("t") student = factory.get_person("s")

模板模式

当功能内部一部分实现确定,一部分实现不确定,这时可以把不确定的部分暴露出去,让子类去实现。编写一个抽象父类,父类提供了多个子类的通用方法,并把一个或多个方法留给其子类实现,就是模板模式。 from abc import ABC, abstractmethod import time

class Template(ABC):

@abstractmethod def job(self): pass def cal_time(self): start = time.time() self.job() end = time.time() print(f"耗时 {end-start} 秒")

class AA(Template): def job(self): n = 0 for i in range(1000_000): n += i

aa = AA() aa.cal_time()

本文作者:a

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!