设计模式概述
设计模式是软件开发中常见问题的可重用解决方案。它们提供了一种标准化的方法来解决特定类型的问题,使代码更易于维护、扩展和理解。设计模式通常分为三类:创建型、结构型和行为型。
创建型设计模式
创建型设计模式关注对象的创建机制,帮助在特定场景下更灵活地创建对象。
单例模式
单例模式确保一个类只有一个实例,并提供一个全局访问点。适用于需要频繁创建和销毁的对象,或需要严格控制资源访问的场景。
class Singleton:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
singleton1 = Singleton()
singleton2 = Singleton()
print(singleton1 is singleton2) # 输出: True
工厂模式
工厂模式定义一个用于创建对象的接口,但让子类决定实例化哪个类。适用于需要根据不同条件创建不同对象的场景。
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
class Cat(Animal):
def speak(self):
return "Meow!"
class AnimalFactory:
def create_animal(self, animal_type):
if animal_type == "dog":
return Dog()
elif animal_type == "cat":
return Cat()
else:
raise ValueError("Unknown animal type")
factory = AnimalFactory()
dog = factory.create_animal("dog")
print(dog.speak()) # 输出: Woof!
结构型设计模式
结构型设计模式关注类和对象的组合方式,形成更大的结构。
适配器模式
适配器模式允许不兼容的接口之间进行协作。适用于需要将现有类集成到新系统中,但接口不匹配的场景。
class EuropeanSocket:
def voltage(self):
return 230
class USASocket:
3043

被折叠的 条评论
为什么被折叠?



