大话涉及模式Python实现-外观模式
Posted 世界有你更精彩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大话涉及模式Python实现-外观模式相关的知识,希望对你有一定的参考价值。
外观模式(Facade Pattern):为子系统中的一组接口提供一个一致界面,此模式定义一个高层接口,使得子系统更加容易使用
下面是一个外观模式的demo:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 __author__ = \'Andy\' 5 """ 6 大话设计模式 7 设计模式——外观模式 8 facade_pattern.py 9 外观模式(Facade Pattern):为子系统中的一组接口提供一个一致界面,此模式定义一个高层接口,使得子系统更加容易是用 10 """ 11 # 外观类 12 class Fund(object): 13 14 def __init__(self): 15 self.stocka = StockA() 16 self.stockb = StockB() 17 self.realty = Realty() 18 19 def buy(self): 20 self.stocka.buy() 21 self.stockb.buy() 22 self.realty.buy() 23 24 def sell(self): 25 self.stocka.sell() 26 self.stockb.sell() 27 self.realty.sell() 28 29 # 投资股票A类 30 class StockA(object): 31 32 def buy(self): 33 print \'buy StockA\' 34 35 def sell(self): 36 print \'sell StockA\' 37 # 投资股票B类 38 class StockB(object): 39 40 def buy(self): 41 print \'buy StockB\' 42 43 def sell(self): 44 print \'sell StockB\' 45 46 # 投资房地产 47 class Realty(object): 48 49 def buy(self): 50 print \'buy Realty\' 51 52 def sell(self): 53 print \'sell Realty\' 54 55 56 57 if __name__=="__main__": 58 59 fund = Fund() 60 fund.buy() 61 fund.sell()
上面类的设计如下图:
Fund类需要知道子系统类的功能,以便将适当的client请求发送给合适的子系统对象,使子系统的使用更加简单
作者:Andy
出处:http://www.cnblogs.com/onepiece-andy/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
以上是关于大话涉及模式Python实现-外观模式的主要内容,如果未能解决你的问题,请参考以下文章