1. 程式人生 > >Python設計模式(1)--設計模式的概念

Python設計模式(1)--設計模式的概念

1. 設計模式的優點

  • 設計模式可以再多個專案中重複使用
  • 問題可以再架構級別得到解決
  • 所有的設計模式都經過了時間的驗證和良好的證明,是開發人員和架構師的寶貴經驗
  • 設計模式都具有可靠性和依賴性

2. 設計模式的分類

  • 程式碼段:用某種語言編寫的一段具有特定用途的程式碼,例如,他可以是Python中的DB連線程式碼
  • 設計:用來解決某個特定問題的優秀解決方案
  • 標準:這是一種解決某類問題的方法,它非常通用,並且適用於當前情況
  • 模式:這是一個經過實踐考驗的,高效,可擴充套件的解決方案,能夠解決一類已知問題

3. 設計模式的適用性

為了有效的使用設計模式,應用程式開發人員必須瞭解設計模式所適用的環境和實際情況,可以分為以下幾種型別:

  • 參與者: 它們是在設計模式中用到的類.類可以再模式中扮演不同的角色,已完成多個目標.
  • 非功能需求: 諸如記憶體優化,可用性和效能等需求都屬於此型別.由於這些因素影響整個軟體解決方案,因此至關重要.
  • 權衡: 並非所有的設計模式都適合應用程式開發,因此需要權衡,這些是在應用程式中使用設計模式時所做的決策.
  • 結果: 如果實際情況不適合,設計模式可能對程式碼的其他部分產生負面影響,開發人員應該瞭解設計模式的結果和用途.

4. 設計模式的分類

4.1 創造型模式:
  • 執行機制基於物件的建立方式
  • 它們將物件建立的細節隔離開來
  • 程式碼與所建立的物件的型別無關

例子:單例模式

4.2 結構型模式
  • 它們致力於設計出能夠通過組合獲得更強大功能的物件和類的結構
  • 重點是簡化結構並識別類和物件之間的關係
  • 它們主要關注類的繼承和組合

例子:介面卡模式

4.3 行為型模式
  • 它們關注物件之間的互動以及物件的響應性
  • 物件應該能夠互動,同時仍然保持鬆散耦合

例子:觀察者模式