«constructors» etiketlenmiş sorular

9
Doğrudan nesne yapımı yerine neden fabrika sınıfı kullanmalıyım?
GitHub ve CodePlex'te birçok С # ve Java sınıfı kütüphane projesinin tarihini gördüm ve doğrudan nesne örneklemesinin aksine fabrika sınıflarına geçme eğiliminde olduğumu görüyorum. Fabrika sınıflarını neden yoğun kullanmalıyım? Nesnelerin eski moda yöntemlerle yaratıldığı oldukça iyi bir kütüphanem var - sınıfların kurucularını çağırarak. Son olarak, yazarlar binlerce sınıfın bütün kamu …

12
Bir nesnenin bütün eserini yapıcıda yapmak için bir sebep var mı?
Bunun benim kodum ya da iş arkadaşımın kodu olmadığını söyleyerek bunu daha önce belirteyim. Yıllar önce, şirketimiz daha küçükken, kapasitemize sahip olmadığımız için ihtiyaç duyduğumuz bazı projelerimiz vardı, bu yüzden dışarıdan tedarik edildiler. Şimdi, genel olarak dış kaynak kullanımına veya müteahhitlere karşı hiçbir şeyim yok, ancak ürettikleri kod temeli bir …

7
Yapıcıda “yeni” kullanmak her zaman kötü mü?
Bir yapıcıda "basit" olanı (basit değerli olanlardan başka nesneler için) kullanmanın, birim testini imkansız hale getirdiği için kötü bir uygulama olduğunu okudum (o zaman bu ortak çalışanların da yaratılması gerekiyor ve alay edilemez). Birim testinde gerçekten tecrübeli olmadığım için önce öğreneceğim bazı kuralları toplamaya çalışıyorum. Ayrıca, bu kullanılan dilden bağımsız …

9
Yapıcı parametre doğrulama C # - En iyi yöntemler
Yapıcı parametre doğrulaması için en iyi yöntem nedir? Diyelim ki basit bir C # biti: public class MyClass { public MyClass(string text) { if (String.IsNullOrEmpty(text)) throw new ArgumentException("Text cannot be empty"); // continue with normal construction } } Bir istisna atmak kabul edilebilir mi? Karşılaştığım alternatif, başlatılmadan önce ön doğrulama …


3
“Start”, “run” veya “execute” yöntemi iyi bir uygulama mıdır?
Şu anda Başlat yöntemini uygulayan birçok sınıfa sahip bir kod tabanı üzerinde çalışıyorum. Bu bana her zaman kötü bir uygulama olarak düşündüğüm iki aşamalı bir yapıya benziyor. Bu ve bir kurucu arasındaki farkı söyleyemem. Normal obje yapımı yerine start metodu kullanmak ne zaman uygundur? Yapıcıyı ne zaman kullanmayı tercih etmeliyim? …

3
İsteğe bağlı parametreler veya aşırı yüklenmiş yapıcılar
Bir uygulama yapıyorum DelegateCommandve yapıcı (lar) ı uygulamak üzereyken, aşağıdaki iki tasarım seçeneğiyle karşılaştım: 1: Birden fazla aşırı yükleniciye sahip olmak public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: İsteğe bağlı parametreli yalnızca bir kurucuya …

5
Yapıcıdaki ayarlayıcıları kullanmak neden yaygın bir kalıp haline gelmedi?
Erişimciler ve değiştiriciler (aka ayarlayıcılar ve alıcılar) üç ana nedenden dolayı faydalıdır: Değişkenlere erişimi kısıtlarlar. Örneğin, bir değişkene erişilebilir, ancak değiştirilemez. Parametreleri doğrularlar. Bazı yan etkilere neden olabilirler. İnternetteki üniversiteler, çevrimiçi kurslar, dersler, blog yazıları ve kod örnekleri, erişim sağlayıcıların ve değiştiricilerin önemi konusunda strese giriyor; Böylece kişi, aşağıdaki kod …

4
Bir kurucuda meşru "gerçek iş"?
Bir tasarım üzerinde çalışıyorum, ancak bir barikatı vurmaya devam ediyorum. Temelde bir XML şema ayrıştırma (DOM DOM) tarafından oluşturulan karmaşık bir düğüm ağacının sahibi olan belirli bir sınıf (ModelDef) var. İyi tasarım ilkelerini (SOLID) takip etmek ve ortaya çıkan sistemin kolayca test edilebilir olmasını sağlamak istiyorum. Bağımlılıkları ModelDef'in yapıcısına iletmek …

5
Bir yapıcıyı nasıl parçalayabilirsiniz?
Diyelim ki bir Düşman dersim var ve kurucu şöyle bir şeye benzeyecek: public Enemy(String name, float width, float height, Vector2 position, float speed, int maxHp, int attackDamage, int defense... etc.){} Bu kötü görünüyor, çünkü yapıcının çok fazla parametresi var, ancak bir Düşman örneği oluşturduğumda bunların hepsini belirtmem gerekiyor. Ayrıca, bu …

3
Oluşturucu deseni ve tonlarca parametre oluşturucu
Sınıfınızın birçok parametreye sahip bir yapıcısı varsa, 4'ten fazla varsa, muhtemelen bir kod kokusu olduğu iyi bilinir . Sınıfın SRP'yi sağlayıp sağlamadığını yeniden düşünmeniz gerekir . Ancak, 10 veya daha fazla parametreye bağlı olan ve sonunda tüm bu parametreleri Oluşturucu kalıbı ile ayarlayarak bitirirsek ve nesne yaparsak? Düşünün, Personkişisel bilgileri, …

3
bir kurucu ne kadar karmaşık olmalı
İş arkadaşımla bir kurucunun ne kadar iş yapabileceği hakkında bir tartışma yaşıyorum. Dahili başka bir nesne A gerektiren bir sınıf, B var. Nesne A, B sınıfı işini yapmak için gereken birkaç üyelerinden biridir. Tüm genel yöntemleri iç nesneye A bağlıdır. A nesnesi hakkında bilgi DB saklanır, bu yüzden doğrulamak ve …
18 c#  constructors 

1
Varsayılan bir yapıcıyı kullanılamaz hale getirmek iyi bir şey midir?
Özellikle varsayılan kurucu hakkında soru sorma Yapıcı bir nesnenin tüm verilerini başlatırsa, düzgün başlatma olmadan kullanılamayan bir sınıf oluşturursam, varsayılan kurucunun işe yaramaz olması gerekmez mi? Düşünmek: // A class for handling lines in a CSV file class CSV_Entry { private: unsigned num_entries; std::string string_version; std::vector<std::string> vector_version; ...etc public: CSV_Entry(); …


6
Bir nesneyi düzgün şekilde başlatamayabilecek kurucular nasıl yazılır
Bazen başarısız olabilecek bir yapıcı yazmanız gerekir. Örneğin, bir dosya yoluna sahip bir nesneyi başlatmak istiyorum, örneğin obj = new Object("/home/user/foo_file") Yol uygun bir dosyaya işaret ettiği sürece her şey yolunda. Ancak dize geçerli bir yol değilse işler kırılmalıdır. Ama nasıl? Yapabilirdin: istisna atmak return null nesnesi (programlama diliniz kurucuların …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.