Sorduğunuz kod görünümü sorusunun görünümünden, aşırıya kaçma aşamasındasınız. İyi tasarımın önemini bilen insanlar arasında oldukça yaygın bir sorun olduğunu düşünüyorum.
Aslında, aldığınız herhangi bir beceri ile doğal ve muhtemelen gerekli bir adımdır. Bir şey öğrenmeye başladığınızda, bir beceri bilgisinde ne kadar ilerlerseniz ve ne kadar çok uygularsanız, sonuçlarınız o kadar iyi olur ve doğrudan ustalığa yönelmişsiniz gibi görünür. Sorun şu ki, yeni hedefiniz sonuçlarınızın kalitesi değil, yeteneğiniz hakkında ne kadar bilgi biriktirdiğinizdir.
Bir becerinin gerçek ustalığı, onu ne zaman kullanılacağı ve ne zaman kullanılamayacağını anlamayı içerir. Bu beceriyi gereğinden fazla kullanmak muhtemelen bu anlayışı geliştirmenin tek yoludur. Elbette, bunu okuyabilirsiniz, ancak okumak deneyimin yerini tutmaz.
Bir kere, tasarım kalıpları hakkında okumak IMHO için kötü bir başlangıç. SOLID ve GRASP gibi OO tasarım ilkelerini okumak daha iyidir. Onları tanıdıktan sonra, ortak tasarım kalıplarının incelenmesi iyi bir fikirdir, çünkü bu ilkelerin somut deyimler oluşturmak için nasıl uygulanabileceğini göreceksiniz.
Bir dil kullanımında kalıplar ortaya çıktığında, dilin aslında bir özelliği olmadığı iddia edilir. Bu ifade çok radikal olsa da, içinde çok fazla gerçek var. Bu nedenle, tavsiye etmek istediğiniz kavramları daha iyi anlamak ve yeni kavramlar hakkında bilgi edinmek için diğer dillere bakıp oyun oynamanızı öneririm. Kısa bir liste Squeak, Ruby ve Lisp olacaktır.
Listeye gelince, benim kişisel tavsiyem, bana tasarım hakkında çok şey öğreten Bilgisayar Programlarının Yapı ve Yorumlanmasıdır, bana karmaşık soyutlamalardan ve yukarıdan aşağıya bir şekilde.
İşte önerim:
- kod yaz (ve neyin kötü olduğunu anlamaya çalış)
- kodu okuyun (ve neyin iyi olduğunu anlamaya çalışın)
- diğer insanlarla bilgi alışverişi. fikirlerinizi test edin.