«factory-method» etiketlenmiş sorular

1
Fabrika modeli ve soyut fabrika arasındaki fark nedir?
Sonunda bazı temel kalıpları öğrenmeye ciddi olarak başladıktan sonra (kariyerin çok geç, ama bu farklı bir hikaye), kafamı Fabrika Deseni ile Soyut Fabrika arasındaki farklar etrafında toplamaya çalışıyorum. Bu iki model arasındaki anahtar farklar nelerdir? Fabrika Metodunun kalıtım yoluyla nesneler yarattığını ve Soyut Fabrikanın bunu nesne kompozisyonu yoluyla yaptığını anlıyorum, …

10
Bir sınıf özelliği yeni bir sınıf örneği oluşturup döndürürse, bu bir kalıp karşıtı mı?
HeadingBirkaç şey yapan denilen bir sınıfa sahibim , fakat aynı zamanda Headingsınıfın kendisinin yeni bir örneğini oluşturarak kullanılması gereken mevcut başlık değerinin tersini de getirebilmelidir . reciprocalGeçerli değerin karşıt başlığını döndürmek için çağrılan basit bir özelliğe sahip olabilirim ve daha sonra el ile Heading sınıfının yeni bir örneğini el ile …

3
Statik fabrika vs fabrika bir singleton olarak
Kodlarımın bazılarında buna benzer statik bir fabrika var: public class SomeFactory { // Static class private SomeFactory() {...} public static Foo createFoo() {...} public static Foo createFooerFoo() {...} } Kod incelemesi sırasında bunun bir singleton olması ve enjekte edilmesi önerildi. Yani, bu gibi görünmeli: public class SomeFactory { public SomeFactory() …

2
Bir yapıcı yerine bir fabrika yöntemi kullanmalıydım. Bunu değiştirebilir ve yine de geriye dönük uyumlu olabilir miyim?
Sorun Diyelim ki bir dosyadan veri okumak için DataSourcebir ReadDatayöntem sağlayan (ve belki de diğerlerini basitleştirelim) adlı bir sınıfım var .mdb: var source = new DataSource("myFile.mdb"); var data = source.ReadData(); Birkaç yıl sonra, veri kaynağı olarak dosyalara .xmlek olarak .mdbdosyaları destekleyebileceğime karar veriyorum . "Veri okuma" uygulaması .xmlve .mdbdosyalar için …

3
Tek bir uygulama oluşturan çokluk. Umutsuz mu? Servis bulucu mu kullanıyorsunuz?
Enjeksiyonları kabul etmek yerine doğrudan bağımlılıklarını oluşturan 1001 müşterimiz olduğunu varsayalım. Patronumuza göre 1001'i yeniden düzenlemek bir seçenek değil. Aslında kaynaklarına erişime bile izin verilmiyor, sadece sınıf dosyalarına. Yapmamız gereken, bu 1001 müşterinin geçtiği sistemi "modernize etmek" tir. İstediğimiz her şeyi yeniden düzenleyebiliriz. Bağımlılıklar bu sistemin bir parçasıdır. Ve bu …


3
Çok sayıda argümana sahip yapıcılardan kaçınma
Bu yüzden farklı sınıflardan nesneler yaratan bir fabrikam var. Olası sınıfların tümü soyut bir atadan türetilir. Fabrikada bir yapılandırma dosyası (JSON sözdizimi) vardır ve kullanıcının yapılandırmasına bağlı olarak hangi sınıfın oluşturulacağına karar verilir. Bunu başarmak için, fabrika JSON ayrıştırma işlemi için boost :: property_tree kullanır. Ptree'de yürür ve hangi somut …
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.