python 设计模式(二) 六大设计原则六 开放封闭原则(open closed principle)

本文探讨了面向对象编程中的开放封闭原则,指出软件应对其扩展开放,对修改封闭。通过银行叫号系统代码示例,展示了违反这一原则的问题,并通过重构,将原有代码拆分为多个类,以符合单一职责原则,实现了在不修改原有代码基础上增加新功能的目标。
摘要由CSDN通过智能技术生成

https://yq.aliyun.com/articles/45638

开放封闭原则,是面向对象编程的核心,也是其他五大设计原则实现的终极目标。只有对抽象编程,而不是对具体编程才是遵循了开放封闭原则。

开放:指的是软件对扩展开放。

封闭:指的是软件对修改封闭。

即软件增加或改变需求是通过扩展来到,而不是通过修改来实现的。即一个类定型后尽量不要去修改。而是通过增加新类来满足需求。

举例:银行的统一叫号系统。代码如下


class BankProcess(object):

    def __init__(self):
        pass

    def deposite(self):
        print('deposite')

    def withdraw(self):
        print('withdraw')


class Customer(object):
    def __init__(self, type):
        self.type = type


class Client(object):

    def __init__(self, customer):
        self.customer = customer
        self.bankprocess = BankProcess()

    def process(self):

        if self.customer.type == 'deposite':
            self.bankprocess.deposite()

        elif self.customer.type == 'withdraw':
            self.bankpr
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值