python常用的设计模式_通俗 Python 设计模式——外观模式

外观模式是一种在日常开发中经常用到的设计模式,它与之前提到过的适配器模式有一定的相似之处,但理念是不一样的。

外观模式的核心在于将复杂的内部实现包装起来,只向外界提供简单的调用接口。类似现实世界中的电脑,开机按钮可以说就是一个简单的调用接口,帮用户屏蔽了复杂的内部电路。

在程序开发中,外观模式通常在层次结构之间提供清晰简单的互相调用。书上的例子引入了一些不必要的东西,这里我用计算机的例子来说明:

假设我们需要将计算机抽象,并且这个计算机启动仅需两步:调用BIOS和内核,关闭同样只是顺序相反。那么首先我们声明一个 Computer 类,它只提供 start 和 stop 方法供外部调用。

class Computer(object):

def __init__(self):

self.bios = Bios()

self.kernal = Kernal()

def start(self):

for i in (self.bios, self.kernal):

i.start()

def stop(self):

for i in (self.kernal, self.bios):

i.stop()

然后我们需要将 Bios 和 Kernal 类声明出来。

class Bios(object):

def __init__(self):

pass

def start(self):

print('bios start ok')

def stop(self):

print('bios stop ok')

class Kernal(object):

def __init__(self):

pass

def start(self):

print('kernal start ok')

def stop(self):

print('kernal stop ok')

然后对于用户来讲,当他实例化了一个 computer 对象后,如果需要执行启动操作,只需要调用 computer.start() 即可完成所有启动过程,无需自己逐步的调用 bios 和 kernal 进行启动。如此一来就实现了将复杂逻辑进行封装的目的。

这个模式因为十分常用,所以开发者应该都相对比较熟悉,而且其本身的实现也比较简单,所以就以这个简单的例子作为说明即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值