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

作者:Andy冉明 时间:2022-01-18 16:39:37 

本文实例讲述了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请求发送给合适的子系统对象,使子系统的使用更加简单

希望本文所述对大家Python程序设计有所帮助。

来源:https://www.cnblogs.com/onepiece-andy/p/python-facade-pattern.html

标签:Python,设计模式,外观模式
0
投稿

猜你喜欢

  • [译]在线广告及其在网页设计中的重要性

    2009-02-06 13:36:00
  • php基于PDO实现功能强大的MYSQL封装类实例

    2023-11-16 22:50:27
  • 2009年五一劳动节logo欣赏

    2009-05-02 18:26:00
  • python中实现词云图的示例

    2021-08-04 22:11:33
  • SQL Server数据库和Oracle行转列的特殊方案描述

    2010-07-26 15:14:00
  • Shell脚本中通过正则表达式匹配IP地址

    2023-06-13 16:32:18
  • 使用Numpy读取CSV文件,并进行行列删除的操作方法

    2023-05-05 03:26:11
  • 说说tab设计

    2009-07-26 09:56:00
  • Python基于pygame实现单机版五子棋对战

    2021-02-26 05:53:54
  • Python实现计算文件夹下.h和.cpp文件的总行数

    2022-09-20 00:54:51
  • javascript基础之indexOf函数

    2008-06-25 13:28:00
  • fso文件按照文件名字母排序

    2008-03-09 15:25:00
  • Python 面向切面编程 AOP 及装饰器

    2021-05-07 14:16:36
  • 初学者必读:提高SQL执行效率的几点建议

    2009-05-07 13:52:00
  • C#调用python脚本的方法步骤(2种)

    2021-11-12 02:44:09
  • fckeditor编辑器在php中的配置方法

    2023-10-14 14:26:52
  • python读取Excel表格文件的方法

    2023-07-24 01:17:14
  • php基于协程实现异步的方法分析

    2023-06-11 10:08:39
  • python提效小工具之统计xmind用例数量(源码)

    2021-11-26 21:42:44
  • 分析Python读取文件时的路径问题

    2022-03-24 10:22:48
  • asp之家 网络编程 m.aspxhome.com