当前位置:主页 > python教程 > Python设计模式中外观模式实例

Python外观模式知识点实例总结

发布:2019-06-10 14:14:21 157


给寻找编程代码教程的朋友们精选了Python设计模式相关的编程文章,网友江文轩根据主题投稿了本篇教程内容,涉及到Python、设计模式、外观模式、Python设计模式中外观模式实例相关内容,已被460网友关注,涉猎到的知识点内容可以在下方电子书获得。

Python设计模式中外观模式实例

本文实例讲述了Python设计模式之外观模式。分享给大家供大家参考,具体如下:

外观模式(Facade Pattern):为子系统中的一组接口提供一个一致界面,此模式定义一个高层接口,使得子系统更加容易使用

下面是一个外观模式的demo:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
大话设计模式
设计模式——外观模式
facade_pattern.py
外观模式(Facade Pattern):为子系统中的一组接口提供一个一致界面,此模式定义一个高层接口,使得子系统更加容易是用
"""
# 外观类
class Fund(object):
  def __init__(self):
    self.stocka = StockA()
    self.stockb = StockB()
    self.realty = Realty()
  def buy(self):
    self.stocka.buy()
    self.stockb.buy()
    self.realty.buy()
  def sell(self):
    self.stocka.sell()
    self.stockb.sell()
    self.realty.sell()
# 投资股票A类
class StockA(object):
  def buy(self):
    print 'buy StockA'
  def sell(self):
    print 'sell StockA'
# 投资股票B类
class StockB(object):
  def buy(self):
    print 'buy StockB'
  def sell(self):
    print 'sell StockB'
# 投资房地产
class Realty(object):
  def buy(self):
    print 'buy Realty'
  def sell(self):
    print 'sell Realty'
if __name__=="__main__":
  fund = Fund()
  fund.buy()
  fund.sell()

运行结果:

buy StockA
buy StockB
buy Realty
sell StockA
sell StockB
sell Realty

上面类的设计如下图:

Python设计模式之外观模式实例详解

Fund类需要知道子系统类的功能,以便将适当的client请求发送给合适的子系统对象,使子系统的使用更加简单


参考资料

相关文章

  • 解决Pandas同元素多列去重问题

    发布:2020-01-23

    今天小编就为大家分享一篇Pandas 同元素多列去重的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • python可变类型和不可变类型区别点总结

    发布:2019-10-24

    可变数据类型,变量名存储的是一个地址,该地址指向一个具体的对象,并且不管对变量的值即对象做怎么样的操作,都不会改变变量名存储的地址。不变数据类型的对象一旦发生改变,就会在


  • python smtplib实现QQ邮箱发送邮件功能方法

    发布:2019-06-06

    这篇文章主要为大家详细介绍了python利用smtplib实现QQ邮箱发送邮件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • Python实现MySql数据库交互的示例

    发布:2023-03-02

    本文主要介绍了Python实现MySql数据库交互的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • python字典根据值返回键的代码分析

    发布:2020-05-21

    迭代的过程中如果没有发生对字典的修改,那么.keys() and .values 这两个函数返回的 dict-view对象总是保持对应关系。字典中的value不保证唯一性,不过字典中key的值是唯一的,因此可以根据值返回


  • Python实现繁體转为简体的方法示例

    发布:2022-07-25

    给网友们整理关于Python的教程,这篇文章主要介绍了Python实现繁體转为简体的方法,涉及Python编码转换相关操作技巧,需要的朋友可以参考下


  • Python3列表、数组、矩阵的相互转换方法

    发布:2019-11-26

    这篇文章主要介绍了Python3 列表,数组,矩阵的相互转换的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学


  • 降低python版本的操作方法

    降低python版本的操作方法

    发布:2022-07-06

    给大家整理了关于python的教程,在本篇内容里小编给大家整理的是一篇关于降低python版本的操作方法,需要的朋友们可以学习参考下。


网友讨论