«design» etiketlenmiş sorular

Yazılım tasarımı ile problem çözme ve çözüm planlaması hakkında sorular.

7
Strateji modeli önemli bir dallanma olmadan uygulanabilir mi?
Strateji kalıbı, eğer başka bir şey yapılandırırsa ve işlevsellik eklemeyi veya değiştirmeyi kolaylaştırırsa çok büyük önlemek için iyi çalışır. Ancak bence hala bir kusur var. Her uygulamada hala bir dallanma yapısı olması gerektiği anlaşılıyor. Bir fabrika veya veri dosyası olabilir. Örnek olarak bir sipariş sistemini ele alalım. Fabrika: // All …

5
Çok taraflı bir projede sürüm oluşturmayı nasıl ele alırsınız?
Bunun geniş bir soru olduğunu biliyorum, bu yüzden mümkün olduğunca spesifik olmaya çalışacağım. Bu soru teknik bir sorudan ziyade "örgütsel" bir sorudur. Bu ana bileşenlerle çok taraflı bir projemiz var: Temel iş mantığını barındıran bir sunucu (veri modelleri) Temel iş mantığını kullanan müşteriler için bir backoffice Temel iş mantığını da …

2
LinkedList genişletme yığını. Liskov İkame İlkesinin ihlali mi?
Add_first (), add_last (), add_after (), remove_first (), remove_last () ve remove () gibi işlevlerle bir sınıf LinkedList var. Şimdi push (), pop (), peek () veya top () gibi işlevler sağlayan bir Sınıf Stack var ve bu yöntemleri uygulamak için LinkedList sınıf yöntemlerini genişletiyor. Bu Liskov İkame İlkesinin ihlali …

3
Birden çok dilde sabitler nasıl yönetilmelidir?
Birden çok dilde işlevsel olarak aynı kütüphanenin neyi desteklediğini bildiğim bir durum var. Bunlar arasında paylaşılması gereken sabitler vardır (örneğin, json alan adı anahtarları veya hata kodları). Şu anda bunu yapmak için her dilde sabitleri tanımlayan kodu olması. Sorun bakımda geliyor. Yeni bir hata kodu eklersem, her kitaplıkta manuel olarak …
13 design  packages 

6
Bir nesneyi sunum yapan kişiyle eşlemenin OOP yolunu temizleme
Her parça (gibi kendi türüdür Java, (örneğin satranç gibi) bir masa oyunu yaratacağım Pawn, Rookvs.). Uygulamanın GUI kısmı için bu parçaların her biri için bir görüntüye ihtiyacım var. Yaptığımdan beri rook.image(); UI ve iş mantığının ayrılmasını ihlal ediyor, her parça için farklı bir sunucu oluşturacağım ve daha sonra parça türlerini …

8
Scrum takımı YAGNI ilkesine uymuyor
SCRUM toplantısında ürün ekibi, mobil uygulama tarafından tüketilecek bir API'daki bir özellik hakkında tartışıyordu. Ekranın nasıl görünmesi gerektiğini ve hangi temel öğeleri içermesi gerektiğini gösteren bir modelimiz vardı ("düzen"). Buna ve ürün sahibiyle yaptığım tartışmaya dayanarak bir API yanıtı (HAL + JSON) için bir prototip oluşturdum. Çok basit, HAL uyumlu …

3
Hangi nedenlerle Swift'teki her delege için ayrı bir sınıf uzantısı kullanırsınız?
Bir Ray Wenderlich öğretici ile çalışıyordu ve yazar onları sınıfta yani ele alınması yerine delege geri çağırmaları tutmak için sınıf uzantıları kullandığını fark ettim: sınıf uzantısı içindeki geri çağrılara temsilci seçme: extension LogsViewController : UIPopoverPresentationControllerDelegate { func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle { ... } } sınıf içinde yer …

3
Belirli koşullarda programcının dikkatini nasıl çekebilirim?
Bir örnekle başlayalım. Diyelim ki, exportağırlıklı olarak DB şemasına bağlı olarak adlandırılan bir yöntemim var . Ve “büyük ölçüde bağlıdır” derken, belirli bir tabloya sık sık (çok sık) yeni bir sütun eklemenin karşılık gelen exportyöntem değişikliğine yol açtığını biliyorum (genellikle yeni alanı dışa aktarma verilerine de eklemelisiniz). Programcılar genellikle exportyöntemi …

5
Bir test nasıl yapılır, başka bir testin sonuçlarına bağlıdır?
Diğer birçok sınıf tarafından kodunuzun her yerinde kullanılan bazı yaygın statik yöntemleri sağlayan bir yardımcı sınıf olduğunu varsayalım . Şebeke testlerinden herhangi biri geçmezse testlerinin başarısız olması için tesis testlerini tesisin tüketicileri için nasıl tasarlarsınız? Bunu yapabilir misiniz ya da hizmet sınıfı testlerinin tamamının yeşil olup olmadığını kendiniz kontrol etmek …


4
Raylar: Demeter Karışıklık Kanunu
Rails AntiPatterns adlı bir kitap okuyorum ve Demeter Yasasını çiğnemekten kaçınmak için delegasyondan bahsediyorlar. İşte onların en iyi örneği: Denetleyicide böyle bir şey çağırmanın kötü olduğuna inanıyorlar (ve katılıyorum) @street = @invoice.customer.address.street Önerilen çözümleri aşağıdakileri yapmaktır: class Customer has_one :address belongs_to :invoice def street address.street end end class Invoice has_one …

5
Ne zaman bir metin dosyasından veri ayrıştırmak yerine veritabanı kullanımı tercih edilmelidir?
Kod görüntülemenin büyümesini ölçmek için bir Python programı yapıyordum . Yaklaşımım, ön sayfada gösterilen "Site istatistikleri" ni almak ve bunları sabit diskime kaydetmekti. Bunu her gün bir kez yapmayı planlıyorum. Şimdiye kadar istatistikleri almak ve bir metin dosyasına eklemek için yeterli yaptım. Python betiği github'da görüntülenebilir . Kullandığım biçim şu …

4
Bu özel tabloların yedek anahtarlara ihtiyacı var mı?
Arka fon Bu tablolarım var +-------------------------+ +------------------------+ |Airport | |Country | |-------------------------| |------------------------| |airport_code string (PK) | |country_code string (PK)| |address string | |name string | |name string | +------------------------+ +-------------------------+ +-------------------------+ |Currency | |-------------------------| |currency_code string (PK)| |name string | +-------------------------+ AIRPORT_CODE olan IATA (Uluslararası Hava Taşımacılığı Birliği) havaalanı …

3
Bağımlılık Tersine Çevirme İlkesi: “Üst düzey politika” ve “düşük düzey detay” diğer insanlara nasıl tanımlanır?
Bağımlılık tersine çevirme prensibini (çoğunlukla genç) meslektaşlarıma anlatmaya çalışıyorum. Hangisinin bir yazılımda "yüksek düzeyli politika" hangisinin "düşük düzeyli ayrıntı" olduğunu nasıl tanımlayabiliriz? Örneğin, yazılımımız birkaç iş uygulamasının iş akışını otomatik hale getirirse, neden iş akışı otomasyonunun üst düzey politika olduğunu ve iş uygulamalarının ayrıntılar olduğunu söylüyoruz?

2
Sınıflar aracılığıyla tüm kodları yapılandırmanın ve sınıflara derlemenin (Java gibi) avantajları ve dezavantajları
Düzenleme: benim dilim Java aksine, birden fazla miras sağlar. Eğitim, eğlence ve potansiyel olarak faydalı amaçlar için kendi programlama dilimi tasarlamaya ve geliştirmeye başladım. İlk başta, Java'yı temel almaya karar verdim. Bu, tüm kodun sınıflar şeklinde yazılacağını ve kodun VM tarafından yüklenen sınıflara derlendiğini ima eder. Ancak, arayüzler ve soyut …

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.