设计模式

from multiprocessing.pool import worker

设计模式

设计模式是一种编程套路,极大方便开发
最常见、最经典的设计模式是面向对象

除了面向对象外
在编程中也有很多既定套路可以方便开发,我们称之为设计模式:

  • 单例、工厂模式
  • 建造者、责任链、状态、备忘录、解释器、访问者、观察者、中介、模板、代理模式
  • 等等模式

单例模式

  • 定义:一个类只有一个实例,并且提供一个访问它的全局访问点
  • 适用场景:当一个类只有一个实例,而客户可以从一个众所周知的访问点访问它

单例模式的实现

在一个文件定义

class StrTools:
    pass

str_tool = StrTools()

在另一个文件直接导入对象

from test import str_tool

s1 = str_tool
s2 = str_tool
print(s1)
print(s2)

输出是同一个对象

<test.StrTools object at 0x000001E8CECF8550>
<test.StrTools object at 0x000001E8CECF8550>

适用案例,一个应用程序需要调用deepseek apikey,多个py文件需要apikey,可以把apikey放在这个里面

工厂模式

当我们需要大规模创建一个类的实例的时候,可以使用工厂模式。

传统模式

class Person:
    pass
class Worker:
    pass
class Student:
    pass
class Teacher:
    pass

worker =  Worker()
student = Student()
teacher = Teacher()

工厂模式

class Person:
    pass
class Worker:
    pass
class Student:
    pass
class Teacher:
    pass

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

使用工厂类的get_person()方法创建具体类的优点

  • 大批量创建有统一入口,易于维护
  • 发生改变,仅修改工厂类的创建方法即可
  • 符合现实世界的逻辑
posted @ 2025-04-16 00:03  Albiehao  阅读(25)  评论(0)    收藏  举报