Genellikle Java'da veya herhangi bir dilde yardımcı veya util sınıflarıyla karşılaşıyorum. Bu yüzden kendime bunun bir çeşit Anti Desen olup olmadığını soruyordum ve bu tür sınıfların varlığı sadece bir Yazılımın tasarımında ve mimarisinde eksikliklerin olmamasıdır.
Genellikle bu sınıflar, birçok şey yapan sadece statik yöntemler kullanılarak sınırlandırılır. Ancak çoğunlukla bağlama bağımlı ve durumsaldır.
Benim sorum, bu tür statik yardımcı / util sınıfları hakkındaki görüşünüz nedir, çünkü avantaj elbette sadece sınıf adını kullanan hızlı çağrıdır.
Ve ne tür bir soyutlama seviyesinde bu tür sınıfları kullanmaktan kaçınırsınız?
Kanımca "statik" anahtar kelimesine yöntem için değil, bir sınıf (Java) bildirimi içinde izin verilmelidir. Bence bu şekilde kullanmak Java'da Procuedural- ve OO-Paradigmaları birleştirmek ve anahtar kelimenin yanlış kullanılmasını önlemek için iyi bir alternatif ve orta yol olabilir.
Cevaplar nedeniyle yapılan eklemeler:
İlk başta farklı paradigmaları birleştirmenin ve hatta makine veya vm derlenmiş kod içinde çalışma zamanı yorumlanmış komut dosyası dillerini kullanmanın tamamen yasal olduğunu düşünüyorum.
Deneyimlerim, bir projenin geliştirme sürecinde bu tür yardımcılar ve araçlar veya adı ne olursa olsun, kod tabanının modüler ve esnek olmak üzere tasarlanmış her unutulmuş köşesinde büyüyor ve kullanılıyor. Ve yeniden düzenleme yapmak veya tasarımı tekrar düşünmek için zaman eksikliği nedeniyle, sadece zaman içinde çok daha kötü hale getirirsiniz.
static
Java'dan kaldırılması gerektiğini düşünüyorum . Özellikle şimdi daha sofistike fonksiyonel dil öğelerinin kullanılmasının mümkün olduğu yerlerde.