【Python】開發過程中經常使用到的5種設計模式有哪些?
相信不管是0基礎小白,還是有一定經驗的程式設計大牛,提到設計模式都不陌生吧,有一部分人覺得設計模式很有必要,而有些人覺得沒那麼重要,那在工作中,我們是否應該重視設計模式呢?如果你也有此困惑,請看下文:
| 工廠模式
這是個最基礎的設計模式,同時也是最常用的,還是一個我們平時一直在使用,卻不知道的一個設計模式,顧名思義就是一個加工廠,這裡生產的是我們物件導向程式設計中最重要的物件。
而工廠的好處我們都知道,不僅可以批次生產,還可以批次定製,因為有不同的模具,因此它可以生產出人們需要的各種型別的產品。
在開發軟體的過程中,我們最關注的就是使用物件的方法,因此,抽象工廠解決了此問題,我們只需要定製我們需要的產品功能介面,然後讓工廠按照此介面,實現介面生產物件即可。
透過這樣的方式,如果我們的產品有問題的話,可以隨時召回,可以隨時被工廠補丁修補,實現了產品的靈活擴充套件。
| 介面卡模式
在開發軟體的過程中,幾乎不可能離開資料庫,因此資料庫的選擇就變得至關重要,如果選錯了,可能會導致後期在效能上出現瓶頸,那如何在不修改或修改很少程式碼的情況下進行資料庫的無縫切換呢?就是介面卡模式。
首先定義好介面卡介面,然後讓各種資料庫實現我們定義好的藉口,在程式碼中使用介面中定義的方法,當需要切換資料庫時,只需要將資料庫實現對應介面的方法,就可以完成資料庫的適配,因此達成無縫連線的效果。
| 觀察者模式
是一種一對多的模式,比如產品有這樣一個功能,使用者下單支付成功後,就會傳送一條簡訊通知使用者,之後如果需要不僅傳送簡訊,還要傳送郵件、語音通知等,在此情況下,就可以採用觀察者模式,將支付成功資訊放入到訊息佇列中,至於發簡訊還是郵件,由各個業務模組訂閱訊息佇列自己處理,這樣在訂單模組裡,就不需要一個個通知簡訊、郵件模組了。
| 策略模式
顧名思義,就是實現目標方案的集合,簡單來說就是各種方法的集合,他們都是用來實現一件事情的。
在軟體開發中,一個物件對不同場景採用不同的策略去實現同一個功能,就是策略方法,是同一個物件對同一個操作採用不同的策略進行處理操作。
淘寶首頁的千人千面也是策略模式,都是顯示商品,面對不同的人,顯示的就是不同的商品,這就是由策略決定的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2910494/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python設計模式有哪些?常見分類!Python設計模式
- 開發中經常使用到的Xcode快捷鍵XCode
- Java開發中的23種設計模式詳解之一:5種建立型模式Java設計模式
- iOS開發中的21種設計模式iOS設計模式
- Java開發中的23種設計模式Java設計模式
- 程式設計師的成長過程中,有哪些階段?程式設計師
- Java開發中的23種設計模式詳解(轉)Java設計模式
- 常見的幾種設計模式設計模式
- 開發過程中mysql常見問題MySql
- Java常用的設計模式有哪些?Java設計模式
- vue中經常要用到的程式碼Vue
- 你知道Laravel 用到了哪些設計模式 ?都是如何用的Laravel設計模式
- python中樹有哪些種類Python
- 設計模式應用場景之Model設計中可以用到的設計模式設計模式
- Java開發中的23種設計模式詳解之二:7種結構型模式Java設計模式
- Java開發中的23種設計模式詳解之三:11種行為型模式Java設計模式
- SQL 自定義函式 生成網路卡地址,MES開發中經常會用到的SQL函式
- 移動應用開發過程中的迭代式原型設計原型
- 程式設計師在直播app原始碼的開發過程中都有哪些技巧?程式設計師APP原始碼
- 圖解九種常見的設計模式圖解設計模式
- 學習Python程式設計開發可以從事的崗位有哪些?Python程式設計
- android開發過程中用到的一些開源框架Android框架
- 資料庫開發程式設計師在開發過程中的注意事項資料庫程式設計師
- php開發中經常用到的正則驗證PHP
- HTML5遊戲開發過程中的二三事HTML遊戲開發
- spring 中用到的設計模式Spring設計模式
- 資料探勘的過程有哪些
- iOS開發中的設計模式 - 委託iOS設計模式
- 基於python的種子搜尋網站--開發過程Python網站
- 常用的Python程式設計開發工具有哪些?Python程式設計
- 23種設計模式(5)-介面卡模式設計模式
- oracle經常使用到的hintOracle
- 急,ERP原來用DELPHI開發,現在要轉用JAVA開發,開發過程要用到哪些技術,用JAVA開發ERP會有那些困難Java
- 【開發經驗】幾種常見的加密方式加密
- 大資料開發過程中的5個通用步驟大資料
- 程式設計師經常去的網站有哪些?程式設計師網站
- 在b/s開發中經常用到的javaScript技術JavaScript
- Python的容器有哪些?Python課程Python