<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      python設(shè)計模式

      Posted on 2022-11-27 21:34  呱呱呱呱嘰里呱啦  閱讀(115)  評論(0)    收藏  舉報

      Python設(shè)計模式

      常見開發(fā)設(shè)計模式

      即針對軟件設(shè)計中普遍存在或者反復(fù)出現(xiàn)的問題所提出的解決方案。

      接口

      接口即若干抽象方法的集合。

      接口限制了實現(xiàn)接口的類必須按照接口給定的調(diào)用方式實現(xiàn)這些方法,對高層模塊隱藏了類的內(nèi)部實現(xiàn)。

      SOLID原則

      開放封閉原則

      一個軟件實體,如類、模塊和函數(shù)應(yīng)該對擴展開放,對修改關(guān)閉。即軟件實體應(yīng)盡量在不修改原有代碼的情況下進(jìn)行擴展。

      里氏替換原則

      所有引用父類的地方必須能透明地使用其子類的對象。

      依賴倒置原則

      高層模塊不應(yīng)該依賴低層模塊,二者都應(yīng)該依賴其抽象;抽象不應(yīng)該依賴細(xì)節(jié);細(xì)節(jié)應(yīng)該依賴抽象。應(yīng)該針對接口編程,而不是針對實現(xiàn)編程。

      接口隔離原則

      使用多個專門的接口,而不使用單一的總接口,即客戶端不應(yīng)該依賴那些它不需要的接口。

      單一職責(zé)原則

      不要存在多于一個導(dǎo)致類變更的原因,通俗的說,一個類只負(fù)責(zé)一項職責(zé)。

      設(shè)計模式分類

      創(chuàng)建型模式

      工廠方法模式、抽象工廠模式、創(chuàng)建者模式、原型模式、單例模式

      結(jié)構(gòu)型模式

      適配器模式、橋模式、組合模式、裝飾模式、外觀模式、享元模式、代理模式

      行為型模式

      解釋器模式、責(zé)任鏈模式、命令模式、迭代器模式、中介者模式、備忘錄模式、觀察者模式、狀態(tài)模式、策略模式、訪問者模式、模板方法模式

      創(chuàng)建型模式

      簡單工廠模式

      使用獨立的工廠類生產(chǎn)產(chǎn)品類的對象。

      優(yōu)點:隱藏了對象創(chuàng)建的實現(xiàn)細(xì)節(jié);客戶端不需要修改代碼

      缺點:違反了單一職責(zé)原則,整合了多種創(chuàng)建邏輯;產(chǎn)品類增加需要修改工廠類代碼,違反開閉原則

      工廠方法

      實例 -> 類 -> 類工廠

      抽象工廠

      簡單來說就是把一些具有相同方法的類再進(jìn)行封裝,抽象共同的方法以供調(diào)用.是工廠方法的進(jìn)階版本.

      實例 -> 類 -> 類工廠 -> 抽象工廠

      惰性初始化 Lazy evaluation

      這個Python里可以使用@property實現(xiàn),就是當(dāng)調(diào)用的時候才生成.

      生成器 Builder

      Builder模式主要用于構(gòu)建一個復(fù)雜的對象,但這個對象構(gòu)建的算法是穩(wěn)定的,對象中的各個部分經(jīng)常變化。Builder模式主要在于應(yīng)對復(fù)雜對象各個部分的頻繁需求變動。但是難以應(yīng)對算法的需求變動。這點一定要注意,如果用錯了,會帶來很多不必要的麻煩。

      重點是將復(fù)雜對象的建造過程抽象出來(抽象類別),使這個抽象過程的不同實現(xiàn)方法可以構(gòu)造出不同表現(xiàn)(屬性)的對象。

      簡單的說:子對象變化較頻繁,對算法相對穩(wěn)定。

      單例模式 Singleton

      一個類只有一個實例

      原型模式

      特點是通過復(fù)制一個已經(jīng)存在的實例來返回新的實例,而不是新建實例.

      多用于創(chuàng)建復(fù)雜的或者耗時的實例,因為這種情況下,復(fù)制一個已經(jīng)存在的實例使程序運行更高效;或者創(chuàng)建值相等,只是命名不一樣的同類數(shù)據(jù).

      對象池 Object pool

      一個對象池是一組已經(jīng)初始化過且可以使用的對象,而可以不用在有需求時創(chuàng)建和銷毀對象。池的用戶可以從池子中取得對象,對其進(jìn)行操作處理,并在不需要時歸還給池子而非銷毀 而不是銷毀它.

      在Python內(nèi)部實現(xiàn)了對象池技術(shù).例如像小整型這樣的數(shù)據(jù)引用非常多,創(chuàng)建銷毀都會消耗時間,所以保存在對象池里,減少開銷.

      結(jié)構(gòu)型模式

      修飾模型 Decorator

      Python里就是裝飾器.

      代理模式 Proxy

      例如Python里的引用計數(shù).

      行為型模式

      迭代器

      迭代容器里所有的元素.

      主站蜘蛛池模板: 精品一区二区不卡无码AV| 日韩精品国产另类专区| 色老头亚洲成人免费影院| 亚洲欧洲精品一区二区| 国产成人免费ā片在线观看| 人妻少妇久久中文字幕| 色综合久久婷婷88| 国产成人精品亚洲日本在线观看| 人妻丰满熟妇av无码区不卡| 国日韩精品一区二区三区| 亚洲综合一区二区三区视频 | 一区二区三区国产亚洲网站| 亚洲欧美日本久久网站| 国语精品自产拍在线观看网站| 99久久久国产精品消防器材| 赞皇县| 国产老熟女伦老熟妇露脸| 农村乱色一区二区高清视频| 久久综合给合久久狠狠97色| 2020年最新国产精品正在播放| 久久一区二区中文字幕| 国产免费性感美女被插视频| 国产精品一区二区三区自拍| 亚洲高清乱码午夜电影网| 久热在线中文字幕色999舞| 一面膜上边一面膜下边视频| 国产精品免费无遮挡无码永久视频| 日韩激情一区二区三区| 亚洲精品成人7777在线观看| 国产成人毛片无码视频软件| 污网站在线观看视频| 国产玩具酱一区二区三区| 动漫精品专区一区二区三区| 九九热免费在线观看视频| 久久一夜天堂av一区二区| 无码人妻一区二区三区免费N鬼沢| 久久综合综合久久综合| 国产精品亚洲五月天高清| 国产久爱免费精品视频| 麻豆人妻| av色欲无码人妻中文字幕|