23种设计模式精讲。

设计模式概述

设计模式是软件开发中常见问题的可重用解决方案。它们提供了一种标准化的方法来解决特定类型的问题,使代码更易于维护、扩展和理解。设计模式通常分为三类:创建型、结构型和行为型。

创建型设计模式

创建型设计模式关注对象的创建机制,帮助在特定场景下更灵活地创建对象。

单例模式

单例模式确保一个类只有一个实例,并提供一个全局访问点。适用于需要频繁创建和销毁的对象,或需要严格控制资源访问的场景。

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:
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值