あなたが尋ねたコードレビューの質問の外観から、あなたはそれをやり過ぎの段階にいます。良いデザインの重要性を発見する人々の間で、それはかなり一般的な問題だと思います。
それは実際、あなたが拾うどんなスキルでも自然で、おそらく必要なステップです。何かを学び始めると、スキルの知識が進歩し、それを応用すればするほど、結果が良くなり、マスタリングに向かってまっすぐ進んでいるように見えます。問題は、新しい目標が結果の質ではなく、スキルに関してどれだけの知識を蓄積するかということです。
スキルを真に習得するには、いつ使用するか、使用しないかを理解する必要があります。そのような理解を深めるには、おそらくそのスキルを使いすぎることが唯一の方法です。もちろん、あなたはこれについて読むことができますが、読むことは経験に代わるものではありません。
一つには、デザインパターンについて読むことは悪いスタートです。SOLIDやGRASPなどのオブジェクト指向設計の原則について読むことをお勧めします。それらに慣れた後、一般的なデザインパターンの研究は良いアイデアです。なぜなら、これらの原則を具体的なイディオムの形成にどのように適用できるかがわかるからです。
言語の使用でパターンが出現すると、その言語には実際には機能が欠けていると主張されています。この声明は非常に急進的ですが、そこには多くの真実があります。したがって、他の言語を調べてみて、採用しようとしている概念をよりよく理解し、新しい概念について学ぶことをお勧めします。最終候補は、Squeak、Ruby、Lispです。
リストに関して、私の個人的な推奨事項は、コンピュータープログラムの構造と解釈であり、複雑な問題に対する堅牢なソリューションを、簡単に抽象化と(分解)トップダウン方式。
だからここに私が提案するものがあります:
- コードを書く(そして何が悪いのかを理解しようとする)
- コードを読む(そしてそれが何が良いのかを理解しようとする)
- 他の人と知識を交換します。あなたのアイデアを試してみてください。