Çevremde oynadığım bazı basit doğrulama öğeleri için bazı akıcı arabirimler oluşturma sürecindeyim. Fark ettiğim bir şey, yaratılmış çok fazla farklı nesneler olduğudur. Aşağıdaki tablolar verilen ÖrneğinAkıcı Arabirimler - oluşturulmakta olan nesne sayısı
: '' her için
Check.Assertion.ForValue.That(value, "value").IsNotNull() : void
Check.Assertion.ForArgument.That(value, "value").IsNotNull() : void
Validate.Assertion.ForDate.That("Test").IsNotNull() : bool
Validate.Assertion.ForNumeric.That("Test").IsNotNull() : bool
(sonuncusunu kabul et) Bir nesneyi canlandırıyorum. Eğer akıcı bir arayüz kullanmıyorsam, statik yöntemler kullanmış olurdum.
Merak ettiğim şey, statik yöntemlerle çalışmak için bu örnek nesneler kullanıldığında (gerçekte küçük nesneler olduklarını) performansta gerçek bir farkın nerede fark edileceğini bilen biri ise, merak ediyorum.
Şerefe mutlaka her yerde yeni nesneler inşa etmek gerekmez Anthony
Bunu düşünmemiştim serin Hey ... biz bu yöntemin içinde yeni SomeOtherObject nesnesi dönüyor Bir şey soracağım, biz uygulamak için işaretleyin alınamadı ICheckAssertionForValueBu arabirim ve sadece bunu tekrar döndürmek? Akıcı bir arayüz tasarlarken, ne kadar sorumluluğun tek bir sınıfa girmesi gerektiğine inanıyorum. Belki de cevap, eğer akıcı bir şekilde yapmazsam hepsi aynı sınıfta olsaydı ... ne düşünüyorsun? –
Yoksa yeni nesneler oluşturma konusunda çok mu endişeleniyorum? Tek şey, bu arabirimi çok fazla kullanacağım (yani, farklı yöntemlerde paramların boş olup olmadığını ve eğer istisna atarsa) –