Bu örneği düşünün:
Bir web sitem var. Kullanıcıların yayın yapmasına (herhangi bir şey olabilir) ve yayını tanımlayan etiketler eklemesine olanak tanır. Kodda, yazı ve etiketleri temsil eden iki sınıf var. Bu sınıflara Postve diyelim Tag.
Postyayın oluşturma, yayınları silme, yayınları güncelleme, vb. ile
Tagilgilenir. etiket oluşturma, etiketleri silme, etiketleri güncelleme vb.
Eksik bir işlem var. Etiketlerin gönderilere bağlanması. Bu operasyonu kimin yapması gerektiğiyle mücadele ediyorum. Her iki sınıfa da eşit derecede uygun olabilir.
Bir yandan Postsınıf Tag, a parametresini alan ve daha sonra onu bir etiket listesinde saklayan bir işleve sahip olabilir . Öte yandan, Tagsınıf bir alır bir işlevi olabilir Postparametre olarak ve bağlantılar Tagiçin Post.
Yukarıdaki sorunumun sadece bir örneğidir. Aslında buna benzer birden çok sınıf ile koşuyorum. Her ikisine de eşit şekilde sığabilir. Aslında her iki sınıfa da işlevsellik katmaktan yoksun, bu sorunu çözmeme yardımcı olacak kurallar veya tasarım stilleri var. Ben sadece bir tane seçmek için kısa bir şey olması gerektiğini varsayıyorum?
Belki de her iki sınıfa koymak doğru cevaptır?