Öncelikle yazdığınız sınıfın gerekliliğini tartışmak gerekli. "register" işlemi için bir sınıf yazmak OOP açısından hiç mantıklı değil. Lügatta şöyle bir ifadeyi hatırlıyorum: "Yazılan bir sınıf o nesneyle alakalı tüm işlemleri barındırmalıdır." Bunun anlamı şudur: Siz "register" işlemi için sınıf yazmamalısınız. Kullanıcıları ifade eden bir nesneyi sınıf olarak yazmalısınız. Yazamazsınız değil, yazmamalısınız. "register" işlemi ancak "User" sınıfının bir metotu olmalıdır.

Sorunuza gelirsek de sınıf içerisinde başka bir nesneyi tabii ki kullanabilirsiniz. Ancak burada yine OOP'un ilkelerinden "düşük bağımlılık"a aykırı işler yapılmamalı. Yani özetle sınıfınız diğer sınıflara en az düzeyde bağımlı olmalıdır. Bağımlılığı ne kadar az ise, sınıfın o kadar iyi tasarlanmış demektir. Aşağıda bir link verdim. İyi anlatılmış orada bu konu.

Ek olarak, burada "bağımlılık enjeksyonu" (dependency enjection) konusunu da ele almakta fayda var. Ben de bu konuda hala çalışıyorum.

http://www.emreeren.com/2007/08/nesn...ogramlama.html