博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式-结构型模式,外观模式(6)
阅读量:4576 次
发布时间:2019-06-08

本文共 868 字,大约阅读时间需要 2 分钟。

外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。

这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。

 

class A():    def run(self):        print 'A run'    def jump(self):        print 'A jump'class B():    def run(self):        print 'B run'    def jump(self):        print 'B jump'class C():    def run(self):        print 'C run'    def jump(self):        print 'C jump'class Facade():    def __init__(self):        self.a=A()        self.b=B()        self.c=C()    def run(self):        for item in ('a','b','c'):            getattr(self,item).run()    def jump(self):        for item in ('a','b','c'):            getattr(self,item).jump()if __name__=='__main__':    facade=Facade()    facade.run()    facade.jump()

 

A B C的关系是他们看起来是鸭子类型,不管他们3个有没有共同的抽象基类或者实现相同的接口,但他们的都有相同的公用方法名。

 

转载于:https://www.cnblogs.com/ydf0509/p/8525853.html

你可能感兴趣的文章
固定虚拟机中windows系统的ip地址
查看>>
【转】正则应用实例,如将多个空格改为1个空格
查看>>
移动端自动打包平台
查看>>
Spring实战Day4
查看>>
ionic Plugin插件,与原生app端交互,ionic端代码
查看>>
Ubuntu安装Orcale
查看>>
CodeForces#520 div2 1062B - Math
查看>>
前端资料整理--持续更新中
查看>>
安装 libevent 出错: event.c error: 'CLOCK_MONOTONIC' undeclared
查看>>
Linux基础2
查看>>
gradle 使用总结
查看>>
C#函数式程序设计初探——重构应用篇
查看>>
兼容的获取选择文本方法
查看>>
标准IO
查看>>
NBU 8.1.1 桌面图标
查看>>
Eclipse插件
查看>>
机器学习入门文章
查看>>
JavaScript入门经典红皮书阅读笔记6.12
查看>>
CSS笔记
查看>>
数据结构(动态树):UOJ 207 共价大爷游长沙
查看>>