«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
OOP uygulamasında parametre yönetimi
C ++ orta ölçekli bir OOP uygulaması OOP ilkeleri uygulama yolu olarak yazıyorum. Projemde birkaç sınıf var ve bazılarının çalışma zamanı yapılandırma parametrelerine erişmesi gerekiyor. Bu parametreler, uygulamanın başlatılması sırasında çeşitli kaynaklardan okunur. Bazıları kullanıcıların ana dizinindeki bir yapılandırma dosyasından okunur, bazıları ise komut satırı bağımsız değişkenleridir (argv). Ben de …

6
Strateji Modelinin Avantajları
Eğer if / then durumunda kodunuzu yazabiliyorsanız strateji modelini kullanmak neden yararlıdır? Örneğin: Bir TaxPayer sınıfım var ve yöntemlerinden biri farklı algoritmalar kullanarak vergileri hesaplıyor. Öyleyse neden if / then durumlarına sahip olamaz ve strateji modelini kullanmak yerine bu yöntemde hangi algoritmayı kullanacağını anlayamıyor? Ayrıca, neden TaxPayer sınıfındaki her algoritma …

5
Else - Tekrarlanan Kod Mantığı
Patronum bana belirli bir mantığı olan bir proje verdi. Ürüne gelene kadar navigatöre birçok durumda liderlik etmesi gereken bir web sayfası geliştirmem gerekiyor. Bu, sitedeki gezinmenin yol şemasıdır: ÖNEMLİ! Ürünler sayfasında gezgin hangi filtreyi istediğini seçebilir. A, o / o takdirde GEREKİR B geçmesi (ve sonra tabii C) veya C …

1
JavaScript'te prototip programlama ne zaman kullanılır?
Projeler için basit widget'lar geliştirmek için aşağıdaki şekilde biraz zaman harcadım: var project = project || {}; (function() { project.elements = { prop1: val1, prop2: val2 } project.method1 = function(val) { // Do this } project.method2 = function(val) { // Do that } project.init = function() { project.method1(project.elements.prop1) project.method2(project.elements.prop2) } …

4
Birinci sınıf işlevler Strateji modelinin yerine geçiyor mu?
Strateji tasarım deseni sık sık yoksun dilde birinci sınıf işlevleri için bir yedek olarak kabul edilir. Örneğin, işlevselliği bir nesneye geçirmek istediğinizi varsayalım. Java'da, istenen davranışı kapsayan başka bir nesneyi nesneye iletmeniz gerekir. Ruby gibi bir dilde, işlevselliğin kendisini anonim bir işlev biçiminde geçirirsiniz. Ancak bunu düşünüyordum ve belki de …

3
Android Parçalarını neden kullanmalıyım?
Bu konuyla ilgili dokümanları ve diğer soruların konularını okudum ve gerçekten ikna olmuyorum; Bu tekniğin kullanım sınırlarını açıkça göremiyorum. Parçalar artık En İyi Uygulama olarak görülüyor ; her Etkinlik temel olarak bir veya daha fazla Parça için bir destek olmalı ve doğrudan bir düzen çağırmamalıdır. Parçalar aşağıdakiler için oluşturulur: Activitybirçok …

4
Çalışma zamanında sınıfa alan ekleme - tasarım deseni
Müşterinizin CMS'deki mağazalarında ürüne yeni mülk (örn. Renk) ekleme olanağına sahip olmak istediğini düşünün. Alan olarak özelliklere sahip olmak yerine: class Car extends Product { protected String type; protected int seats; } Muhtemelen şöyle bir şey yapardınız: class Product { protected String productName; protected Map<String, Property> properties; } class Property …


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 …

5
Bir yöntemden birden çok dönüş değeri döndürmenin bir yolu: sınıf içinde dönüş değerini temsil eden put yöntemi. İyi bir tasarım mı?
Bir yöntemden 2 değer döndürmek gerekiyor. Benim yaklaşımım şöyledir: bu 2 değeri tutmak için kullanılacak 2 alanlı bir iç sınıf oluşturun yöntemi bu sınıfın içine koy sınıfı başlatır ve yöntemi çağırır. Yöntemde değiştirilecek tek şey, sonunda bu 2 değeri örneğin alanlarına atamasıdır. Sonra bu değerleri o nesnenin alanlarına başvurarak ele …


4
MVC'de birkaç görünüm aynı denetleyiciye sahip olabilir mi veya bir görünüm bir benzersiz denetleyiciye sahip olmalıdır?
MVC etrafında bir proje için bir mimari tasarlarken bazı sorularım var. (Bu bir C ++ / Marmalade SDK projesi, herhangi bir MVC çerçevesi kullanmıyorum, bir tane yapıyorum.) Birkaç makalede ( orijinal Steve Burbek makalesinde olduğu gibi ) bu kavramı kelimenin tam anlamıyla aldığımdan beri beni etkileyen "MVC triad" kavramını okumaya …

2
Ayrı Oluştur ve Düzenle işlemlerine sahip olmak veya Oluştur ve Düzenle'yi bir araya getirmek daha mı iyi?
ASP.NET MVC 2'yi bir İş Mantık Katmanı, Veri Erişim Katmanı [Saklı Yordamlar ve saklı yordamlarla konuşmak için sınıflar / yöntemler] içeren Denetleyici / Görünüm Sunum Katmanı ve Modeli ile kullanıyoruz. İş katmanında ve yukarısında çoğu amaç için Edit, hem bir nesnenin oluşturulmasını hem de bir nesnenin düzenlenmesini temsil edebilir. Bu, …

2
Modern derleyicide jenerikler nasıl uygulanır?
Demek istediğim, bir şablondan T add(T a, T b) ...oluşturulan koda nasıl gideriz ? Bunu başarmanın birkaç yolunu düşündüm, genel işlevi bir AST'de saklıyoruz Function_Nodeve daha sonra her kullandığımızda orijinal fonksiyon düğümünde, kendisinin bir kopyasını T, Kullanılan. Örneğin add<int>(5, 6)jenerik fonksiyonunun bir kopyasını saklar addve her türlü yerine T kopyada …

2
Bir depo gerçekten ne yapmalı?
Havuz deseninin çoğunu duydum, ancak bir havuzun gerçekten ne yapması gerektiğini tam olarak anlamadım. "Bir havuzun gerçekten ne yapması gerektiğini" söylediğimde, esas olarak hangi yöntemleri sunması gerektiği konusunda endişeliyim. Örneğin, bir havuz gerçekten CRUD yöntemleri sağlamalı mı yoksa farklı türde bir yöntem sağlamalı mıdır? Yani, depolar iş mantığı içermeli mi, …

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.