网络编程
位置:首页>> 网络编程>> Python编程>> Python设计模式之外观模式实例详解

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

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

标签: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请求发送给合适的子系统对象,使子系统的使用更加简单

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

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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com