国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python進(jìn)階知識(shí):整理3 -> 設(shè)計(jì)模式(單例模式、工廠模式)

這篇具有很好參考價(jià)值的文章主要介紹了Python進(jìn)階知識(shí):整理3 -> 設(shè)計(jì)模式(單例模式、工廠模式)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1 單例模式

# 單例模式:確保一個(gè)類只有一個(gè)實(shí)例,并提供一個(gè)全局訪問點(diǎn)。
class Singleton:
    pass

st = Singleton()


"""
    在其它文件中import, 使用上述類時(shí),無論實(shí)例化多少對(duì)象,得到對(duì)象id都是一樣的,相當(dāng)于實(shí)例化一個(gè)對(duì)象
    ---> 節(jié)省內(nèi)存;節(jié)省創(chuàng)建對(duì)象的開銷
"""

2 工廠模式

# -- coding: utf-8 --
"""
    當(dāng)需要大量創(chuàng)建一個(gè)類的實(shí)例的時(shí)候,可以使用工廠模式:
        即從原生的使用類的構(gòu)造去創(chuàng)建對(duì)象的形式,遷移到基于工廠提供的方法去創(chuàng)建對(duì)象的形式
"""
"""
    優(yōu)點(diǎn): 1.大批量創(chuàng)建對(duì)象的時(shí)候有統(tǒng)一的入口,易于代碼的維護(hù)
         2.當(dāng)發(fā)生修改,僅需要修改工廠類的創(chuàng)建方法即可
         3.符合現(xiàn)實(shí)世界的模式,即有工廠來制作產(chǎn)品(對(duì)象)
"""


class Person:
    pass


class Worker(Person):
    pass


class Student(Person):
    pass


class Teacher(Person):
    pass


class PersonFactory:
    def get_person(self, p_type):
        if p_type == 'worker':
            return Worker()
        elif p_type == 'student':
            return Student()
        elif p_type == 'teacher':
            return Teacher()
        else:
            return None


pf = PersonFactory()
worker = pf.get_person('worker')
student = pf.get_person('student')
teacher = pf.get_person('teacher')

文章來源地址http://www.zghlxwxcb.cn/news/detail-801154.html

到了這里,關(guān)于Python進(jìn)階知識(shí):整理3 -> 設(shè)計(jì)模式(單例模式、工廠模式)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【單例設(shè)計(jì)模式原理詳解】Java/JS/Go/Python/TS不同語言實(shí)現(xiàn)

    【單例設(shè)計(jì)模式原理詳解】Java/JS/Go/Python/TS不同語言實(shí)現(xiàn)

    單例模式(Singleton Pattern)屬于創(chuàng)建型設(shè)計(jì)模式,這種模式只創(chuàng)建一個(gè)單一的類,保證一個(gè)類只有一個(gè)實(shí)例,并提供一個(gè)訪問該實(shí)例的全局節(jié)點(diǎn)。 當(dāng)您想控制實(shí)例數(shù)目,節(jié)省系統(tǒng)資源,并不想混用的時(shí)候,可以使用單例模式。單例有很多種實(shí)現(xiàn)方式,主要分為懶漢和餓漢模式

    2023年04月27日
    瀏覽(25)
  • 懶漢單例設(shè)計(jì)模式與餓漢單例設(shè)計(jì)模式

    單例模式即一個(gè)類確保只有一個(gè)對(duì)象,主要用于避免浪費(fèi)內(nèi)存 1 .餓漢單例設(shè)計(jì)模式 :拿到對(duì)象時(shí),對(duì)象就早已經(jīng)創(chuàng)建好了 寫法: 把類的構(gòu)造器私有 在類中自己創(chuàng)建一個(gè)對(duì)象,并賦值到一個(gè)變量 定義一個(gè)靜態(tài)方法,返回自己創(chuàng)建的這個(gè)對(duì)象 2. 懶漢單例設(shè)計(jì)模式 :第一次拿到對(duì)象時(shí)

    2024年02月21日
    瀏覽(31)
  • 【設(shè)計(jì)模式】單例設(shè)計(jì)模式

    目錄 1、前言 2、基本語法 2.1、懶漢式單例 2.2、餓漢式單例 2.3、雙重檢驗(yàn)鎖單例模式 2.4、靜態(tài)內(nèi)部類單例模式 2.5、枚舉單例模式 2.6、ThreadLocal單例模式 2.7、注冊(cè)單例模式 3、使用場(chǎng)景 4、使用示例 5、常見問題 5、總結(jié) 單例模式是一種設(shè)計(jì)模式,它確保一個(gè)類只能創(chuàng)建一個(gè)實(shí)

    2024年02月09日
    瀏覽(29)
  • 【Python進(jìn)階編程】python編程高手常用的設(shè)計(jì)模式(持續(xù)更新中)

    【Python進(jìn)階編程】python編程高手常用的設(shè)計(jì)模式(持續(xù)更新中)

    Python編程高手通常熟練運(yùn)用各種設(shè)計(jì)模式,這些設(shè)計(jì)模式有助于提高代碼的可維護(hù)性、可擴(kuò)展性和重用性。 以下是一些Python編程高手常用的設(shè)計(jì)模式: 確保一個(gè)類只有一個(gè)實(shí)例,并提供全局訪問點(diǎn)。適用于需要共享資源或控制特定資源訪問的情景。 其他實(shí)現(xiàn)單例模式的方法

    2024年01月24日
    瀏覽(16)
  • 設(shè)計(jì)模式學(xué)習(xí)(一)單例模式補(bǔ)充——單例模式析構(gòu)

    設(shè)計(jì)模式學(xué)習(xí)(一)單例模式補(bǔ)充——單例模式析構(gòu)

    目錄 前言 無法調(diào)用析構(gòu)函數(shù)的原因 改進(jìn)方法 內(nèi)嵌回收類 智能指針 局部靜態(tài)變量 參考文章 在《單例模式學(xué)習(xí)》中提到了,在單例對(duì)象是通過 new 動(dòng)態(tài)分配在堆上的情況下,當(dāng)程序退出時(shí),不會(huì)通過C++的RAII機(jī)制自動(dòng)調(diào)用其析構(gòu)函數(shù)。本文討論一下這種現(xiàn)象的原因以及

    2024年03月19日
    瀏覽(34)
  • 【ASP.NET Core 基礎(chǔ)知識(shí)】--最佳實(shí)踐和進(jìn)階主題--設(shè)計(jì)模式在ASP.NET Core中的應(yīng)用

    一、設(shè)計(jì)模式概述 1.1 什么是設(shè)計(jì)模式 設(shè)計(jì)模式是在軟件設(shè)計(jì)過程中反復(fù)出現(xiàn)的、經(jīng)過驗(yàn)證的、可重用的解決問題的方法。它們是針對(duì)特定問題的通用解決方案,提供了一種在軟件開發(fā)中可靠的指導(dǎo)和標(biāo)準(zhǔn)化方法。設(shè)計(jì)模式通常描述了一種在特定情景下的解決方案,包括了問

    2024年02月21日
    瀏覽(850)
  • 【設(shè)計(jì)模式】單例模式|最常用的設(shè)計(jì)模式

    【設(shè)計(jì)模式】單例模式|最常用的設(shè)計(jì)模式

    單例模式是最常用的設(shè)計(jì)模式之一,雖然簡(jiǎn)單,但是還是有一些小坑點(diǎn)需要注意。本文介紹單例模式并使用go語言實(shí)現(xiàn)一遍單例模式。 單例模式保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)。 使用場(chǎng)景: 當(dāng)類只能有一個(gè)實(shí)例而且可以從一個(gè)公開的眾所周知的訪

    2024年04月29日
    瀏覽(31)
  • 設(shè)計(jì)模式之單例設(shè)計(jì)模式

    就是一個(gè)類只允許創(chuàng)建一個(gè)對(duì)象,那么我們稱該類為單例類,這種設(shè)計(jì)模式我們稱為單例模式。 資源共享:有些類擁有共享的資源,例如數(shù)據(jù)庫連接池、線程池、緩存等。使用單例模式確保只有一個(gè)實(shí)例,避免資源浪費(fèi)和競(jìng)爭(zhēng)條件。 線程安全:?jiǎn)卫J娇梢杂脕肀WC多線程

    2024年02月07日
    瀏覽(29)
  • 設(shè)計(jì)模式 ~ 單例模式

    單例模式:指在確保一個(gè)類只有一個(gè)實(shí)例,創(chuàng)建之后緩存以便繼續(xù)使用,并提供一個(gè)全局訪問點(diǎn)來訪問該實(shí)例; 前端對(duì)于單例模式不常用,但對(duì)于單例的思想無處不在; 如:彈窗、遮罩層、登錄框、vuex redux 中的 store; 閉包: 模塊化:

    2024年02月16日
    瀏覽(38)
  • 設(shè)計(jì)模式-單例模式

    ? ? ? 單例模式(Singleton Pattern)是設(shè)計(jì)模式中最簡(jiǎn)單且最常用的一種創(chuàng)建型模式,其目的是保證一個(gè)類在整個(gè)系統(tǒng)中只存在一個(gè)實(shí)例,并提供全局訪問點(diǎn)來獲取這個(gè)唯一實(shí)例。這種模式主要適用于那些需要頻繁實(shí)例化然后又希望避免因?yàn)槎啻螌?shí)例化而消耗過多資源或產(chǎn)生副

    2024年01月17日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包