Kod incelemesi için diğer bazı mimarlara yazdığım bir başvuruyu gönderdim. Onlardan biri neredeyse hemen bana geri döndü ve "statik kullanma" dedi. Statik sınıf ve yöntemlerle otomatikleştirilmiş testler yazamazsınız. "Statik" önlenmeli. "
Kontrol ettim ve derslerin 1 / 4'ü "statik" olarak işaretlendi. Sınıfın bir örneğini oluşturamayacağım zaman statik kullanırım çünkü sınıf kod boyunca kullanılan tek bir genel sınıftır.
Statik kodla kullanılamayan alaycı, IOC / DI teknikleriyle ilgili bir şeyden bahsetmeye devam etti. 3. parti kütüphanelerinin test edilemezliklerinden dolayı statik olmalarının şanssız olduğunu söylüyor.
Bu diğer mimar doğru mu?
güncelleme: işte bir örnek:
APIManager - bu sınıf bir sonraki izin verilen süre ile birlikte çağırdığım 3. taraf API'lerinin sözlüklerini tutar. Birçok 3. tarafın hizmet şartlarında sahip olduğu API kullanım sınırlarını zorlar. Her yerde kullanıyorum Thread.Sleep (APIManager.GetWait ("ProviderXYZ")) adlı bir üçüncü taraf servisini arıyorum. arama yapmadan önce. Burada her şey iş parçacığı güvenli ve C # TPL ile harika çalışıyor.
static
iyi;static
tarlaların çok dikkatli bir şekilde ele alınması gerekiyor