«design-patterns» etiketlenmiş sorular

Tasarım deseni, yazılım tasarımında sık karşılaşılan bir sorunun genel yeniden kullanılabilir çözümüdür.

4
“FullName” veya “FormattedPhoneNumber” gibi alıcıları modelinize koymak “kalıp kokusu” mu?
Bir ASP.NET MVC uygulaması üzerinde çalışıyorum ve model / varlık sınıflarıma yararlı ve kullanışlı alıcılar gibi görünen şeyleri koyma alışkanlığına giriyorum. Örneğin: public class Member { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string PhoneNumber …

9
Tasarım Desenleri: Onları öğrenmeli miyim? [kapalı]
Kapalı. Bu soru konu dışı . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu Yazılım Mühendisliği Yığın Değişimi için konuyla ilgili olacak şekilde güncelleyin . 4 yıl önce kapalı . Bu yüzden arka arkaya iki soru sormak biraz garip, ama çok ilgili değiller ve bunları birleştirmek istemedim, …

1
Bir dilbilgisine dayalı bir lexer yazarken izlenen prosedür nedir?
Dilbilgisi, Lexers ve Parsers hakkında açıklama konusundaki bir cevabı okurken , cevap şunları söyledi: [...] bir BNF dilbilgisi sözlüksel analiz ve ayrıştırma için ihtiyacınız olan tüm kuralları içerir. Bu benim için biraz garip geldi, çünkü şimdiye kadar, bir lexer'ın bir gramer üzerine hiç dayanmadığını düşünürken, bir ayrıştırıcı büyük ölçüde bir …

6
İnsan tarafından okunabilir en basit yapılandırma dosyası biçimi nedir? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 5 yıl önce kapalı . Geçerli yapılandırma dosyası aşağıdaki gibidir: mainwindow.title = 'test' mainwindow.position.x = 100 mainwindow.position.y = 200 mainwindow.button.label = 'apply' …

1
C ++ özel üye işlevleri kapsüllemek için arkadaş sınıfları kullanma - iyi uygulama veya kötüye?
Bu yüzden, böyle bir şey yaparak başlıklara özel işlevler koymaktan kaçınmanın mümkün olduğunu fark ettim: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == 5; // or whatever …

6
DDD OOP ile tanıştı: Nesneye yönelik bir depo nasıl uygulanır?
Bir DDD deposunun tipik bir uygulaması çok OO'ya benzemez, örneğin bir save()yöntem: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Altyapı bölümü: package com.example.infrastructure; // imports... public class JdbcProductRepo implements ProductRepo …

2
Bir uygulamanın bölümleri farklı dillerde yazıldığında veri yapılarının çoğaltılması nasıl önlenir?
Örnek olarak, Java'da bir uygulama yazdığınızı varsayalım . Uygulamanız Python ile yazılmış bir API sunucusuyla iletişim kurar . Python sunucusu bir SQL veritabanı ile iletişim kurar . Uygulamanız için JavaScript ile yazılmış bir web siteniz de var . 4 farklı dilde, temel olarak aynı veri yapılarını 4 farklı kez tekrarlamak …

4
Bir sınıf, hangi yöntem alt kümesini uyguladığı kullanıcılarıyla nasıl iletişim kurmalıdır?
senaryo Bir web uygulaması, kullanıcı arka uç arabirimini IUserBackendyöntemlerle tanımlar GetUser (UID) CREATEUSER (UID) deleteUser (UID) setPassword (uid, şifre) ... Farklı kullanıcı arka uçları (örneğin LDAP, SQL, ...) bu arabirimi uygular, ancak her arka uç her şeyi yapamaz. Örneğin, somut bir LDAP sunucusu bu web uygulamasının kullanıcıları silmesine izin vermez. …


8
Müşteriler arasında değişiklik gösterebilen tek bir yöntemle bir sınıf için uygun tasarım
Müşteri ödemelerini işleme koymak için kullanılan bir sınıfım var. Bu sınıfın yöntemlerinden biri hariç tümü, her müşterinin kullanıcı için ne kadar borçlu olduğunu hesaplayan (örneğin) her müşteri için aynıdır. Bu, müşteriden müşteriye büyük ölçüde değişebilir ve herhangi bir sayıda özel faktör olabileceğinden, özellikler dosyası gibi bir şeydeki hesaplamaların mantığını yakalamanın …


3
Akı düzenini anlama
Aslında akı desenini inceliyorum ve mağazalarla ilgili anlayamadığım bir şey var . Tam olarak nedir? Birçok makale okudum ve alanla ilgili olduğu anlaşılıyor. Bunun api çağrıları veya arka uç çağrıları ile ilgili "soyut" kısım olduğu anlamına mı geliyor? Benim için çok açık değil. Edit: Açısal fabrika ile aynı şey olabilir …

2
'Zip' neden koleksiyonun sarkan kuyruğunu görmezden geliyor?
C # , Scala, Haskell, Lisp ve Python aynı zipdavranışa sahiptir: bir koleksiyon daha uzunsa, kuyruk sessizce göz ardı edilir. Atılan bir istisna da olabilir, ancak bu yaklaşımı kullanan herhangi bir dil duymadım. Bu beni şaşırtıyor. zipBu şekilde tasarlanma nedenini bilen var mı ? Sanırım yeni diller için yapılır, çünkü …

2
Kaydedici hatalarını nasıl ele almalıyım?
Şirketimizin birçok uygulamasında özel bir kayıt cihazı kullanıyoruz. Oldukça sağlamdır, ancak gelecekte NLog gibi bir şeyle değiştirebiliriz. Kaydedicinin görevlerinden biri, uygulamada karşılaşılan istisnaları günlüğe kaydetmektir. Her zaman yaşadığım bir endişe , logger içindeki istisna işlemenin sessiz bir arızaya izin vermesidir. Yani, günlük belirli bir istisna için yazılmamışsa (kaydedicideki bir hata …

3
Kodda bir Excel (xlsx) dosyası oluşturmak için iyi bir tasarım deseni nedir?
Daha fazla bilgi için aşağıdaki Güncellememe bakın. Bazen bazı verileri bir Excel dosyası (xlsx formatı) olarak çıktılamak zorunda olduğum projelerim var. İşlem genellikle: Kullanıcı uygulamamdaki bazı düğmeleri tıklıyor Kodum bir DB sorgusu çalıştırır ve sonuçları bir şekilde işler Kodum, Excel com birlikte çalışma kitaplıkları veya bazı üçüncü taraf kitaplıkları (ör. …

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.