«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
Oyunlar için davranış / Bileşen tabanlı sistem oluşturma
Arka fon Oyun geliştirmeyi hobi olarak yapıyorum ve onları tasarlamanın daha iyi bir yolunu arıyorum. Şu anda, standart bir OOP yaklaşımı kullanıyorum (8 yıldır kurumsal gelişim yapıyorum, bu yüzden nartely geliyor). Örneğin bir "kötü adam" public class Baddie:AnimatedSprite //(or StaticSprite if needed, which inherit Sprite) { //sprite base will have …

4
Tasarım kalıpları ve OOP uygulamaları üzerine düşünme, dinamik ve zayıf yazılan dillerde nasıl değişir?
Zaten bu çizgiler boyunca oldukça yararlı bir soru var (" OOP Olmayan Tasarım Desenleri? "), Ancak dinamik ve zayıf yazılan dillerle yeni başlayan biri için geçiş bakış açısını merak ediyorum. Yani: Diyelim ki yıllardır C ++, C # veya Java'da program yapıyorum ve GoF tasarım desenleri, Fowler'in Kurumsal Uygulama Mimarisi …

5
Değiştirilmiş Strateji Tasarım Modeli
Son zamanlarda Tasarım Desenlerine bakmaya başladım ve kodladığım bir şey, küçük bir fark dışında Strateji modeline mükemmel bir şekilde uyuyordu. Temel olarak, algoritmaların bazıları (hepsi değil), ekstra bir parametreye veya iki tanesinin geçirilmesine ihtiyaç duyuyor. Bu yüzden ikisine de ihtiyacım olacak kendi hesaplama yöntemini çağırdığınızda onlara ekstra bir parametre iletmek …

2
Statik Oluşturma yöntemi - kurucularla karşılaştırıldığında artıları ve eksileri
Yapıcılar üzerinde statik nesne oluşturma yöntemlerine sahip olmanın avantajları ve dezavantajları nelerdir? class Foo { private Foo(object arg) { } public static Foo Create(object arg) { if (!ValidateParam(arg)) { return null; } return new Foo(arg); } } Birkaç düşünebilirim: Artıları: İstisna atmak yerine null değerini döndürün (adlandırın TryCreate). Bu, istemci …

4
Daha basit olması için bir hizmeti nasıl sararım
Sadece 3 yönteme ihtiyaç duyduğumuz devasa bir arayüzü ortaya çıkaran bir üçüncü taraf hizmetine bağımlılığımız var. Ayrıca, arayüz sık sık değişir ... Arayüzü projemizdeki bir sınıfa sarmaya ve sadece ihtiyacımız olan yöntemleri ortaya çıkarmaya karar verdim. Ancak, dönüş değerlerini nasıl işlemem gerektiğinden emin değilim ... Arabirim türü bir nesne döndürür …

2
Uygulama hizmet katmanı veritabanı işlevlerini çağırıyor. Kötü mimari mi?
Senaryo: Yığın: Java, Bahar, Hazırda Bekletme. Model: İstemci-Sunucu Uygulaması. Desen: Model-Görünüm-Denetleyici (MVC). Hizmet Katmanı sınıflarının üç davranışı vardır: Bazı hizmetler, iş kuralı yöntemlerine sahiptir ve kalıcılığı uygulamaya devreder. Sevmek: EntityManager.save (entity); Bazı hizmetler bir veritabanı işlevini çağırır (parametreleri iletir) CallableStatement cls = con.prepareCall ("{call databaseFunction (args)}"); Bazı hizmetlerin her iki …


2
.NET MVC proje mimarisi / katmanlama
Orta büyüklükteki bir MVC web uygulaması için mimariyi planlarken, katmanları mümkün olduğunca ayrıştırılmış ve test edilmesi kolay olacak şekilde nasıl uygularsınız? (temel olarak en iyi uygulamaları izleyin) Diyelim ki veri erişimim olarak önce kodu kullanıyorum. "İş mantığını" neyin tanımlayacağı ve veri katmanıyla etkileşimin nasıl kastedildiğiyle mücadele ediyorum. Bir araç satış …

6
SRP'yi uygulamanın pratik yolları nelerdir?
Bir sınıfın tek sorumluluk ilkesini ihlal edip etmediğini kontrol etmek için insanların kullandıkları pratik teknikler nelerdir? Bir sınıfın değişmek için tek bir nedeni olması gerektiğini biliyorum, ama bu cümlenin bunu uygulamak için pratik bir yolu eksik. Bulduğum tek yol "......... gerekir ......... kendisi" cümlesini kullanmaktır . burada birinci alan sınıf …

4
Bazı kullanıcılar için özellikleri gizleme / devre dışı bırakma
Diyelim ki uygulamanın ücretsiz ve ücretli bir sürümü var. Ücretli sürüm, kullanıcıların kullanabileceği özelliklerle ilgili ücretsiz sürümün bir üst kümesidir, yani ücretli sürüm, ücretsiz uygulamanın tüm özelliklerine ve ekstraya sahip olacaktır. Başlangıçta yüklenen bir bayrağa (ör. Ücretsiz / ücretli) dayalı özellik kullanılabilirliğini değiştirmek için bir model var mı? Aşağıdaki kod …

1
OOP ECS ve Saf ECS
İlk olarak, bu sorunun oyun geliştirme konusuyla bağlantılı olduğunun farkındayım ama gerçekten daha genel bir yazılım oluşturma sorununa geldiğinden burada sormaya karar verdim. Geçtiğimiz ay boyunca Entity-Component-Systems hakkında çok şey okudum ve şimdi konseptten oldukça rahatım. Bununla birlikte, net bir 'tanımı' eksik gibi görünen bir yönü var ve farklı makaleler …

4
Sınıf Çoğaltma Kalıbı?
Şu anda mevcut projemde solo geliştirici olarak çalışıyorum. Projeyi, şirketten ayrılan başka bir geliştiriciden miras aldım. C # model görünüm denetleyicisi tarzı bir web uygulamasıdır. Nesne ilişkisel eşleme için Entity Framework kullanır. Etki alanı modelindeki türler için iki farklı sınıf kümesi vardır. Bir set ORM ile etkileşim için kullanılır ve …

5
Bir dizi işlem için en iyi OOP tasarım deseni
Ben bir modül aşağıdaki finansal işlemleri sırayla yapan bir uygulama üzerinde çalışıyorum: Bir kullanıcı banka hesabına belirli bir tutarın aktarılmasını istediğinde: şimdi herhangi bir işlem olup olmadığını kontrol edin? (işlem sadece belirli bir zaman diliminde yapılabilir) kullanıcının minimum bir tutarın geri çekilmesini isteyip istemediğini kontrol edin kullanıcının herhangi bir varsayılan …

4
Bağımlılık Enjeksiyonu Fabrika deseni ile birlikte nasıl kullanılır
Herhangi bir türdeki dosyaları ayrıştırmaktan sorumlu bir modül düşünün. Zaten üzerinde açıkladığım gibi ben bu sorunu çözmek için strateji deseni kullanarak düşünüyorum burada . Bu soruya devam etmeden önce lütfen bağlantılı gönderiye bakın. Product.xml dosyasının içeriğine ihtiyaç duyan B sınıfını düşünün. Bu sınıfın XML dosyasını ayrıştırmak için Parser arabiriminin uygun …


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.