Birçok insan "sınıf asla başınızdan büyük olmamalı" gibi şeyler söyler.
Ancak, bu konuda gerçekten harika, birinci sınıf programcılar ile bir tartışmaya katıldım. Çıplak Nesneler adamlarından biriyle konuştum. Anlayabildiğimiz kadarıyla, bazen bu olur ve etrafta dolaşmanın pek bir yolu yoktur.
Normalde, bunun gerçekleştiği tek sınıf, alan adınızın temel öğesini temsil eden bir alan adı nesnesidir - bankacılık hesabı, perakende satış vb. o sınıfın sorumluluğunu düşünmek istiyorum. İşte benim ipuçları:
- "Yönetici", "Yardımcı" veya "Hizmet" olarak adlandırılırsa, büyük olasılıkla çok büyüktür. Bir sınıfın sorumluluğunun ne olması gerektiğini öğrendikten sonra, diğer sorumlulukları devretmeyi daha kolay bulacaksınız.
- Buna "Denetleyici" deniyorsa, bir grup başka sınıf arasındaki etkileşimi kontrol etmekten sorumlu olmalı ... ve başka bir şey olmamalıdır.
- Farklı fiziksel düğümleri arasında veri ve mesaj ileten sonra ya bir seri şeklinde belirli bir mesaj dönüştürme ile mücadele etmesi, ya da transfer mekanizması yönetir. Örneğin, bir Banka İşlemini XML'e dönüştüren bir sınıfınız ve bu XML'i HTTP üzerinden gönderen başka bir sınıfınız olabilir.
- Bir uygulamadaki farklı modüller arasında olayları geçiyorsa, bir etkinliğin ne zaman ortaya çıktığını dinleyicilere bildirmekten sorumlu olmalı ve başka bir şey olmamalıdır.
Genel bir kural olarak, eğer çok büyükse, başka bir sınıfa herhangi bir sorumluluk devredip devredemeyeceğinize bakın ve eğer yapamıyorsanız, muhtemelen tamam.