欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python設(shè)計(jì)模式之工廠方法模式實(shí)例詳解

 更新時(shí)間:2019年01月18日 09:07:58   作者:Andy冉明  
這篇文章主要介紹了Python設(shè)計(jì)模式之工廠方法模式,結(jié)合實(shí)例形式較為詳細(xì)的分析了工廠方法模式的概念、原理、用法及相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python設(shè)計(jì)模式之工廠方法模式。分享給大家供大家參考,具體如下:

工廠方法模式(Factory Method Pattern):定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類,工廠方法使一個(gè)類的實(shí)例化延時(shí)到其子類.

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
大話設(shè)計(jì)模式
設(shè)計(jì)模式——工廠方法模式
工廠方法模式(Factory Method Pattern):定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類,工廠方法使一個(gè)類的實(shí)例化延時(shí)到其子類.
工廠方法模式克服了簡(jiǎn)單工廠模式違背開放-封閉原則的缺點(diǎn),又保持了封裝對(duì)象創(chuàng)建過程的優(yōu)點(diǎn)
場(chǎng)景:雷鋒工廠,不關(guān)心執(zhí)行者,只關(guān)心執(zhí)行結(jié)果
"""
class LeiFeng(object):
  def Sweep(self):
    print "掃地"
  def Wash(self):
    print "洗衣"
  def BuyRice(self):
    print "買米"
class IFactory(LeiFeng):
  def CreateLeiFeng(self):
    pass
#大學(xué)生
class Undergraduate(LeiFeng):
  pass
#新增社區(qū)服務(wù)者
class Volunteer(LeiFeng):
  pass
# 學(xué)習(xí)雷鋒的大學(xué)生工廠
class UndergraduateFactory(IFactory):
  def CreateLeiFeng(self):
    return Undergraduate()
#新增一個(gè)社區(qū)服務(wù)者的工廠e
class VolunteerFactory(IFactory):
  def CreateLeiFeng(self):
    return Volunteer()
if __name__ == "__main__":
  student = UndergraduateFactory()
  volunteer = VolunteerFactory()
  student.BuyRice()
  student.Sweep()
  volunteer.Wash()

運(yùn)行結(jié)果:

買米
掃地
洗衣

上面類的設(shè)計(jì)如下圖:

創(chuàng)建一個(gè)抽象工廠類CreateLeiFeng和一個(gè)抽象對(duì)象類LeiFeng,當(dāng)創(chuàng)建具體leifeng對(duì)象-Undergradiate去dosomething時(shí),使用繼承抽象工廠的UndergraduateFactory工廠類,該類返回一個(gè)Undergradiate實(shí)例,如果還要去做另一個(gè)dosomething時(shí),再創(chuàng)建一個(gè)VolunteerFactory工廠方法創(chuàng)建創(chuàng)建一個(gè)Volunteer實(shí)例就可以了

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python進(jìn)程管理工具supervisor安裝使用

    python進(jìn)程管理工具supervisor安裝使用

    supervisor是一個(gè)用python語言編寫的進(jìn)程管理工具,它可以很方便的監(jiān)聽、啟動(dòng)、停止、重啟一個(gè)或多個(gè)進(jìn)程,本文給大家介紹python進(jìn)程管理工具supervisor安裝使用配置教程,感興趣的朋友一起看看吧
    2023-08-08
  • 如何使用python傳入不確定個(gè)數(shù)參數(shù)

    如何使用python傳入不確定個(gè)數(shù)參數(shù)

    這篇文章主要介紹了如何使用python傳入不確定個(gè)數(shù)參數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 深入探討opencv圖像矯正算法實(shí)戰(zhàn)

    深入探討opencv圖像矯正算法實(shí)戰(zhàn)

    在機(jī)器視覺中,對(duì)于圖像的處理有時(shí)候因?yàn)榉胖玫脑驅(qū)е翿OI區(qū)域傾斜,這個(gè)時(shí)候我們會(huì)想辦法把它糾正為正確的角度視角來,本文主要介紹了opencv圖像矯正算法,感興趣的可以了解一下
    2021-05-05
  • Django admin實(shí)現(xiàn)TextField字段changelist頁面換行、空格正常顯示

    Django admin實(shí)現(xiàn)TextField字段changelist頁面換行、空格正常顯示

    本文主要介紹了Django admin實(shí)現(xiàn)TextField字段changelist頁面換行、空格正常顯示,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • pycharm2022.2遠(yuǎn)程連接服務(wù)器調(diào)試代碼實(shí)現(xiàn)

    pycharm2022.2遠(yuǎn)程連接服務(wù)器調(diào)試代碼實(shí)現(xiàn)

    本文主要介紹了pycharm2022.2遠(yuǎn)程連接服務(wù)器調(diào)試代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python與js進(jìn)行MD5取hash有什么不同

    python與js進(jìn)行MD5取hash有什么不同

    這篇文章主要講解得內(nèi)容是python與js進(jìn)行MD5取hash有什么不同,我們?cè)谧銮岸俗鰸B透測(cè)試時(shí)會(huì)遇到一些關(guān)鍵字進(jìn)行了加密得情況,而且python和js對(duì)json進(jìn)行md5取hash,MD5結(jié)果值還不一致,下面我們就爛看看到底是哪里不同吧,需要的朋友可以參考一下
    2022-02-02
  • Python imageio讀取視頻并進(jìn)行編解碼詳解

    Python imageio讀取視頻并進(jìn)行編解碼詳解

    今天小編就為大家分享一篇Python imageio讀取視頻并進(jìn)行編解碼詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python中print和return的作用及區(qū)別解析

    Python中print和return的作用及區(qū)別解析

    print的作用是輸出數(shù)據(jù)到控制端,就是打印在你能看到的界面上。這篇文章給大家介紹Python中print和return的作用及區(qū)別解析,感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • 教你使用Python建立任意層數(shù)的深度神經(jīng)網(wǎng)絡(luò)

    教你使用Python建立任意層數(shù)的深度神經(jīng)網(wǎng)絡(luò)

    這篇文章主要介紹了Python建立任意層數(shù)的深度神經(jīng)網(wǎng)絡(luò),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • pip安裝tensorflow的坑的解決

    pip安裝tensorflow的坑的解決

    這篇文章主要介紹了pip安裝tensorflow的坑的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04

最新評(píng)論