外观模式

简介

在介绍外观模式之前,先问大家一个问题,还有人记得适配器模式吗?不记得的大兄弟可以瞅一眼:适配器模式_Sean_TS_Wang的博客-CSDN博客

其中适配器的设计理念是在存在不合适的接口的情况下,将该接口封装,为用户提供一个合适的接口。

外观模式和适配器模式有些相像,也是需要为原有的接口封装一个外观交由用户操作。

但是不同的是,在适配器模式下,USB接口封装完之后还是USB接口,但是经过外观模式封装后,USB接口会变成一个手机。

因为外观模式的设计理念是,将复杂的操作封装成一个简单的界面,简化用户操作。因此在封装的过程中,会将多种接口的功能集成起来,例如USB,CPU,HDD等。


正文

 通过上面这个图,我们可以清楚的认识到,对于用户来说,并不需要理解外观背后整套流程的复杂性,只需要使用外观简单操作就可以实现自己的目的,下面我们用过例子来演示一下:

class Courier:
    def delivery(self):
        print("我来送外卖了")


class Restaurant:
    def cook(self):
        print("开始炒菜了")



class ELM:
    def __init__(self):
        self.c = Courier()
        self.r = Restaurant()

    def order(self):
        print("我要点外卖了")
        self.r.cook()
        print("菜做好了")
        self.c.delivery()
        print("外卖到了")



e = ELM()

e.order()
        

我们不需要关心饭店是如何炒菜的,也不需要关系快递小哥是如何送外卖的,我们只需要使用ELM进行下单操作就可以吃上外卖了。


总结

外观模式的核心在于简化复杂操作,因此在一些比较复杂接口操作的情况下,可以使用该模式。比较典型的应用场景就是我们常说的MVC,因此有些地方也称之为MVC模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值