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". データが微妙に異なる3つの類似した関数があります。抽象化を作成すべきですか?
النتيجة المتوقعة:
3回のルールを適用する - 明らかなパターンが見えてくるまで待つ。重複が間違った抽象化より優れた場合と、抽象化すべき場合の例を示す。
التدقيق الأمني
آمن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と関心の分離を適用して依存関係を整理します。
抽象化決定の評価
抽象化を作成するかどうかを判断する場合、3回のルールを使用して過早な一般化避けます。
جرّب هذه الموجهات
I need to solve [describe problem]. What is the simplest solution that works? Show me an example.
Here is my class [paste code] that does multiple things. How can I split it into classes with single responsibilities?
I have a base class with shared behavior and want to extend it. How can I use composition instead of inheritance? Show an example.
How should I organize [describe your application] into layers? Show me the separation of concerns with example code.
أفضل الممارسات
- 具体的な要件によって正当化される場合のみ、シンプルなソリューションから始めて複雑さを追加する
- 单一目的の20〜50行程度に関数を 집중する
- I/O操作をビジネスロジックから異なるレイヤーに分離する
- テスト可能性のためにコンストラクターを通じて依存関係を注入する
تجنب
- ドメインを理解する前に過早に抽象化を作成する
- コンポジションの代わりに継承をコード再利用に使用する
- HTTP処理、検証、データベースアクセスを1つのクラスで混合する
- 読みやすさではなく clever なコードを作成する