advanced
レガシーコードのSOLID原則適用
SOLID原則に基づき、不適切に設計されたオブジェクト指向コードの改善案を提示します。
📝 Treść promptu
以下の擬似コード(あるいは一般的な「神クラス」の状態)は、単一責任の原則(SRP)や開放閉鎖の原則(OCP)に違反しています。
`class OrderManager { process_order(payment, shipping); generate_invoice(); send_email(); update_inventory(); calculate_discount(); }`
このコードをSOLID原則(Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion)に従ってリファクタリングしてください。
1. 各クラスの責任を分離したクラス図(テキストベース)を作成してください。
2. 依存性の注入をどのように適用するか具体的なコード例(PythonまたはJava)を示してください。
3. このリファクタリングによってどのような保守性や拡張性のメリットが生まれるかを専門用語を用いて説明してください。