参考 @kidach1 さんの投稿をPythonに書き換えてるだけです。 @kidach1 さん、いつもありがとうございます。 https://qiita.com/kidach1/items/4b63de9ad5a97726c50c 概要 改めて基本を学ぶ。 参考「Rubyによるデザインパターン第1章」→この投稿はPython デザインパターンとは プログラミングにおいて繰り返し現れる問題に対する、適切解のパターン。 無駄無く設計されたオブジェクト指向プログラムの実現をサポート。 パターンとしてカタログ化されていることで 車輪の再発明を防ぐ デザインパターンの根底にある5つの考え 変わるものを変わらないものから分離する プログラムはインターフェイスに対して行う(実装に対して行わない) 継承より集約 委譲、委譲、委譲 必要になるまで作るな(YAGNI) 変わるものを変わらないものから分離する
![Pythonによるデザインパターン5原則 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/76e7eec180d5e057ef6036fe8d98a8e5b4232d6e/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UHl0aG9uJUUzJTgxJUFCJUUzJTgyJTg4JUUzJTgyJThCJUUzJTgzJTg3JUUzJTgyJUI2JUUzJTgyJUE0JUUzJTgzJUIzJUUzJTgzJTkxJUUzJTgyJUJGJUUzJTgzJUJDJUUzJTgzJUIzNSVFNSU4RSU5RiVFNSU4OSU4NyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YzUwM2NmZDY0ZDNiZjNhZmMxZWEwN2JkNjZhYmIwNTA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwdHN1amktZGFpc3VrZSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9OGY1NWVhMGE2OWVjZjVkNzU1Nzc5MGI4NzZhZmU1YTk%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D2ba7d6c0b716c92a9f8a5366500c1684)