python-design-patterns
應用 Python 設計模式
使用經過驗證的設計模式(如 KISS、單一職責原則,以及組合優於繼承)編寫可維護的 Python 程式碼,建立易於理解、測試和修改的系統。
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "python-design-patterns". 展示如何重構一個處理用戶註冊、發送電子郵件、記錄活動並保存到資料庫的類別
النتيجة المتوقعة:
重構範例,拆分為 UserService(業務邏輯)、UserRepository(資料存取)、EmailNotifier(通知)和 ActivityLogger(日誌記錄),每個都具有單一職責。
استخدام "python-design-patterns". 我需要將支付處理功能添加到我的訂單系統。我應該從基類 Order 繼承還是使用組合?
النتيجة المتوقعة:
解釋為什麼首選組合 - 您可以切換支付供應商、使用假物件進行測試,並避免繼承階層。展示將 PaymentProcessor 注入 OrderService 的範例。
استخدام "python-design-patterns". 我有三個相似的函數,處理資料的方式略有不同。我應該建立抽象化嗎?
النتيجة المتوقعة:
應用三法則 - 等待明確的模式出現。展示何時重複程式碼優於錯誤的抽象化,以及何時應該抽象化。
التدقيق الأمني
آمنAll 35 static findings are false positives. The skill is a documentation file containing Python code examples for educational purposes. Python dictionary syntax was misidentified as shell backticks, email examples as network calls, and code examples as cryptographic algorithms or reconnaissance. No actual security risks present.
درجة الجودة
ماذا يمكنك بناءه
設計新的 Python 服務架構
在建立新服務時,使用這些模式從一開始就建立乾淨、可維護的架構。
重構混亂的程式碼
面對複雜且耦合的程式碼時,應用 SRP 和關注點分離來解開依賴關係。
評估抽象化決策
決定是否要建立抽象化時,使用三法則來避免過早泛化。
جرّب هذه الموجهات
我需要解決 [描述問題]。什麼是最簡單可行的解決方案?請舉例說明。
這是我的類別 [貼上程式碼] 同時做很多事情。我該如何將它拆分為具有單一職責的類別?
我有一個具有共享行為的基類,想要擴展它。如何使用組合而不是繼承?請舉例說明。
我應該如何將 [描述您的應用程式] 組織成層?請用範例程式碼展示關注點分離。
أفضل الممارسات
- 從最簡單的解決方案開始,只有在有具體需求證明時才增加複雜度
- 保持函數專注於 20-50 行,單一目的
- 將 I/O 操作與業務邏輯分離到不同的層
- 透過建構函數注入依賴以提高可測試性
تجنب
- 在理解領域之前過早建立抽象化
- 使用繼承來重用程式碼而不是組合
- 將 HTTP 處理、驗證和資料庫存取等關注點混合在一個類別中
- 讓程式碼變得巧妙而非易讀