«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.

3
Bir MVVM uygulamasında navigasyonu kim kontrol etmelidir?
Örnek 1: MVVM uygulamamda görüntülenen bir görüşüm var (tartışma için Silverlight'ı kullanalım) ve beni yeni bir sayfaya götürmesi gereken bir düğmeyi tıklıyorum. Örnek 2: Aynı görünümde, tıklandığında alt pencerede bir ayrıntı görünümü açması gereken başka bir düğme bulunur (iletişim kutusu). ViewModel'imizin maruz bıraktığı komut nesnelerinin, kullanıcının tıklamasına yanıt veren yöntemlerle …

8
Enums Listesi'ni kullanmak iyi bir uygulama mıdır?
Şu anda Kullanıcıların bulunduğu bir sistem üzerinde çalışıyorum ve her kullanıcının bir veya daha fazla rolü var. Kullanıcıda Enum değerleri listesini kullanmak iyi bir uygulama mıdır? Daha iyi bir şey düşünemiyorum, ama bu pek iyi değil. enum Role{ Admin = 1, User = 2, } class User{ ... List<Role> Roles …

5
Aşamalı geliştirmedeki kod tabanları neden artık değilse, JavaScript koduna eşit miktarda sahip?
Uzun zamandır web programcılığı yapıyorum ve bir yerlerde, bugün ne yaptığımızı neden yaptığımızı (ya da nasıl bu şekilde işler yapmaya geldik) izini kaybettim? Temel ASP web geliştirme ile başladım ve çok erken, ekran ve iş mantığı sayfada karışık oldu. Müşteri tarafı gelişimi çılgınca değişiyordu (VBScript, farklı JavaScript tatları) ve sunucu …

9
Sürekli değişen projelerde tasarım kalıplarını kullanmaktan kaçınmalı mıyız?
Bir arkadaşım, her geliştiriciden nefret edeceği bir projede küçük bir şirket için çalışıyor: mümkün olduğu kadar çabuk serbest bırakılması için baskı yapıyor, teknik borcu önemseyen görünüyor, müşterinin teknik geçmişi yok. Bana bunun gibi projelerde tasarım kalıplarının uygunluğunu düşündürten bir hikaye anlattı. İşte hikaye. Ürünleri web sitesinde farklı yerlerde göstermek zorunda …

3
En az şaşkınlık ilkesi nedir?
Programlamada en az şaşkınlık ilkesi ne denir? Bu konseptin iyi API'ler tasarlama ile ilgisi nedir? Bu sadece nesne yönelimli programlama için uygulanabilir mi yoksa başka programlama tekniklerine de nüfuz ediyor mu? Bu, "yönteminizde tek bir şey yapmak ve iyi yapmak" ilkesiyle mi ilgili?


2
Doğru Tasarım Desenini Seçme
Tasarım kalıplarını kullanmanın önemini her zaman tanıdım. Diğer geliştiricilerin en uygun olanı seçmeye nasıl gittiğini merak ediyorum. Karar vermenize yardımcı olacak bir dizi özellik (akış şeması gibi) kullanıyor musunuz? Örneğin: Nesneler birbiriyle ilişkiliyse, ancak somut sınıf belirtmek istemiyoruz, Özet Örnekleme türetilmiş sınıflara bırakıldığında, Fabrika’yı düşünün Toplama nesnesinin öğelerine sırayla erişmeniz …


1
“StringBuilder”, Builder Design Pattern'in bir uygulaması mı?
“Oluşturucu” paterni “teleskop yapıcı” anti paternini ele almakla sınırlandırılmış mıdır, yoksa karmaşık değişken nesnelerin yaratılmasının daha genel bir soruna hitap ettiği söylenebilir mi? StringBuilderSınıf adında kelime "oluşturucu" var, ama Kurucular iç içe ile ilgisi yoktur, sadece bize değişmez bir nesnenin yapıcısı geçmek için gereken tüm verileri toplamak yardımcı olur. Bana …

9
Bir Oluşturucu deseni uygularken neden bir Oluşturucu sınıfına ihtiyacımız var?
Oluşturucu deseninin birçok uygulamasını gördüm (çoğunlukla Java'da). Hepsinde bir varlık sınıfı (bir Personsınıf diyelim ) ve bir üretici sınıfı var PersonBuilder. Oluşturucu, çeşitli alanları "istifler" new Personve argümanları a ile döndürür . Tüm builder yöntemlerini Personsınıfın içine koymak yerine neden açıkça bir builder sınıfına ihtiyacımız var ? Örneğin: class Person …

10
Genellikle nesneleri veya üye değişkenlerini işlevlere gönderiyor musunuz?
Bu iki vaka arasında genel olarak kabul edilen uygulama hangisidir: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } veya function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } Başka bir deyişle, nesnelerin tamamını etrafa veya sadece ihtiyacınız olan alanlara aktarmak genellikle daha iyi olur mu?

7
Bir bayrak daha sonra kullanmak için bir döngü içinde bir bayrak ayarlamak için bir kod kokusu mu?
Bir haritayı belirli bir koşul doğru oluncaya kadar tekrar eden ve daha sonra başka şeyler yapmak için bu koşulu kullandığımda bir kod parçam var. Örnek: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() > limit) { limitFlag = …

9
Python gibi sadece dinamik olarak yazılmış dillerde mümkün tasarım desenleri var mı?
İlgili bir soru okudum Python gibi dinamik dillerde gereksiz tasarım desenleri var mı? Wikiquote.org'daki bu alıntıyı hatırladı ve hatırladı Dinamik yazma ile ilgili harika bir şey, hesaplanabilir olan her şeyi ifade etmenize izin vermesidir. Ve yazım sistemleri yazmaz - sistemler genellikle kararlaştırılabilir ve sizi bir alt kümeye kısıtlarlar. Statik tip …

3
ActiveRecord modelinin sakıncaları nelerdir?
Veri erişimi / iş nesneleri için ActiveRecord desenini kullanmanın sakıncaları nelerdir merak ediyorum. Kafamın üstünden düşünebildiğim tek şey, Tek Sorumluluk İlkesini ihlal ettiğidir, ancak AR modeli, yalnızca bu nedenin, kullanmamayı haklı çıkarmak için "yeterince iyi" görünmediği kadar yaygındır (tabii ki benim Çalıştığım kodun hiçbiri SOLID ilkelerinden herhangi birini takip etmediğinden …

10
Soyut bir sınıfta arayüzler
İş arkadaşım ve ben, temel sınıflar ve arayüzler arasındaki ilişki hakkında farklı görüşler var. Bir sınıfın, bir arayüzün uygulanması gerektiğinde kullanılabiliyorsa, bir sınıfın bir arayüz uygulamaması gerektiğine inanıyoruz. Başka bir deyişle, böyle bir kod görmeyi seviyorum: interface IFooWorker { void Work(); } abstract class BaseWorker { ... base class behaviors …

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.