python有哪幾種常用的設(shè)計(jì)模式-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

我們提供的服務(wù)有:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、莊浪ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的莊浪網(wǎng)站制作公司

這篇文章將為大家詳細(xì)講解有關(guān)python有哪幾種常用的設(shè)計(jì)模式,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

python常用的幾種設(shè)計(jì)模式有:1、單例模式,確保某一個(gè)類只有一個(gè)實(shí)例;2、工廠模式,使用一個(gè)公共的接口來創(chuàng)建對(duì)象;3、策略模式,隨著策略對(duì)象改變內(nèi)容;4、門面模式,對(duì)子系統(tǒng)的封裝,使得封裝接口不會(huì)被單獨(dú)提出來。

什么是設(shè)計(jì)模式?

設(shè)計(jì)模式是一套被反復(fù)使用,多數(shù)人知道,經(jīng)過分類編目的代碼設(shè)計(jì)經(jīng)驗(yàn)總結(jié)。

使用設(shè)計(jì)模式是為了提高代碼可重用性,可閱讀性,和可靠性。

你說理解的設(shè)計(jì)模式有幾種?

設(shè)計(jì)模式又可分為三種:創(chuàng)建型(單例模式)、(工廠模式),結(jié)構(gòu)型,行為型(策略模式)

單例模式以及應(yīng)用場(chǎng)景:

(1)確保某一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例,這個(gè)類稱為單例類,單例模式是一種對(duì)象創(chuàng)建型模式。Windows的Task Manager(任務(wù)管理器)、Recycle Bin(回收站)、網(wǎng)站計(jì)數(shù)器

(2)單例模式應(yīng)用的場(chǎng)景一般發(fā)現(xiàn)在以下條件下:

資源共享的情況下,避免由于資源操作時(shí)導(dǎo)致的性能或損耗等。如上述中的日志文件,應(yīng)用配置??刂瀑Y源的情況下,方便資源之間的互相通信。如線程池等

要點(diǎn):一是某個(gè)類只能有一個(gè)實(shí)例;二是它必須自行創(chuàng)建這個(gè)實(shí)例;三是它必須自行向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。

工廠模式:

提供一個(gè)創(chuàng)建對(duì)象的接口,不像客戶端暴露創(chuàng)建對(duì)象的過程,而是使用一個(gè)公共的接口來創(chuàng)建對(duì)象。

可以分為三種:簡(jiǎn)單工廠  工廠方法   抽象工廠

 一個(gè)類的行為或其算法可以在運(yùn)行時(shí)更改。這種類型的設(shè)計(jì)模式屬于行為型模式。

策略模式:

在策略模式中,我們創(chuàng)建表示各種策略的對(duì)象和一個(gè)行為隨著策略對(duì)象改變而改變的 context 對(duì)象。策略對(duì)象改變 context 對(duì)象的執(zhí)行算法。

要點(diǎn):把一個(gè)個(gè)策略,也就是算法封裝成一個(gè)一個(gè)類,任意的替換

解決的問題:避免多個(gè)if....else帶來的復(fù)雜

使用場(chǎng)景:系統(tǒng)中需要?jiǎng)討B(tài)的在集中算法中動(dòng)態(tài)的選擇一種,

門面模式:

門面模式也叫外觀模式,定義如下:要求一個(gè)子系統(tǒng)的外部與其內(nèi)部的通信必須通過一個(gè)統(tǒng)一的對(duì)象進(jìn)行。門面模式提供一個(gè)高層次的接口,使得子系統(tǒng)更易于使用。門面模式注重“統(tǒng)一的對(duì)象”,也就是提供一個(gè)訪問子系統(tǒng)的接口。門面模式與之前說過的模板模式有類似的地方,都是對(duì)一些需要重復(fù)方法的封裝。但從本質(zhì)上來說,是不同的。模板模式是對(duì)類本身的方法的封裝,其被封裝的方法也可以單獨(dú)使用;而門面模式,是對(duì)子系統(tǒng)的封裝,其被封裝的接口理論上是不會(huì)被單獨(dú)提出來用的。

一個(gè)對(duì)象有很多行為,如果么有選擇合適的設(shè)計(jì)模式,這些行為就需要用多重的條件判斷來實(shí)現(xiàn)算法的切換,增加了代碼的復(fù)雜度。

關(guān)于python有哪幾種常用的設(shè)計(jì)模式就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

當(dāng)前題目:python有哪幾種常用的設(shè)計(jì)模式-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://bm7419.com/article40/didieo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄云服務(wù)器、定制網(wǎng)站、微信小程序網(wǎng)站營銷、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司