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

1
Açık Kapalı Prensibi (OCP) - Bağımlılık Ters Çevirme İlkesi (DIP)
Açık Kapalı Prensip (OCP) ile Bağımlılık Tersinir Princible (DIP) arasındaki farkı anlamaya çalışıyordum . Şimdiye kadar internette yaptığım araştırmalara dayanarak, 'DIP'nin OCP'ye ulaşabileceğimiz bir seçenek olduğu' sonucuna vardım. Ben haklı mıyım? Bana DIP'yi takip etmeyen ama OCP'yi takip eden bir örnek verebilir misiniz?

2
Bağımlılık enjeksiyon stilleri arasındaki pratik fark nedir?
Bağımlılık enjeksiyonunda yeniyim ve uygulamalarımda hangi stili kullanmam gerektiği hakkında birkaç sorum var. Martin Fowler'ın Kontrol Kapsayıcılarının İnversiyonu ve Bağımlılık Enjeksiyon kalıbını yeni okudum , ancak yapıcı, ayarlayıcı ve arayüz enjeksiyonu arasındaki pratik farkı alamıyorum. Bana öyle geliyor ki birini diğerinin üzerinde kullanma nedenleri sadece kod temizleme ve / veya …

2
RESTful API'sinde komut desenini uygulama
Umarım olabildiğince RESTful hale getirmek için bir HTTP API tasarlama sürecindeyim. İşlevselliğin birkaç kaynağa yayıldığı bazı eylemler vardır ve bazen geri alınması gerekir. Kendi kendime düşündüm, bu bir komut kalıbına benziyor, ama onu bir kaynağa nasıl modelleyebilirim? Böyle bir şeyle yaratılacak olan DepositAction gibi XXAction adında yeni bir kaynak tanıtacağım …


2
Bazı OO tasarım tavsiyeleri arıyorum
Endüstriyel bir ortamda vanaları açmak ve kapatmak için kullanılacak bir uygulama geliştiriyorum ve böyle basit bir şey düşünüyordum: - public static void ValveController { public static void OpenValve(string valveName) { // Implementation to open the valve } public static void CloseValve(string valveName) { // Implementation to close the valve } …

1
Peki, “Tasarım Kalıpları Dil Özellikleri Eksik mi?” [kapalı]
Burada ne sorulduğunu söylemek zor. Bu soru belirsiz, belirsiz, eksik, aşırı geniş veya retoriktir ve mevcut haliyle makul bir şekilde cevaplanamaz. Bu sorunun tekrar açılabilmesi için açıklığa kavuşturulması konusunda yardım için yardım merkezini ziyaret edin . 7 yıl önce kapalı . Burada Programcılar'da şu sorunun cevabını gördüm : Tasarım kalıpları …

2
Kalıcılık-cahil nesneler tembel yüklemeyi uygulayabilir mi?
Kalıcı Cehalet , tek bir sorumluluk ilkesinin uygulamasıdır; bu, uygulamada Etki Alanı Nesneleri'nin ( DO ) kalıcılıkla ilgili kod içermemesi gerektiği yerine yalnızca etki alanı mantığı içermesi anlamına gelir . a) Bunun alt katmanlarla (yani kalıcılık katmanlarıyla) temas eden kodun , bir iş mantığı katmanının diğer sınıflarında ( OC ) …

4
Özel Alanlar ve Veri Türleri için Tasarım Desenleri / Stratejileri
Veri nesnelerine özel alanlar ekleme veya kendi özel nesne tanımınızı oluşturma yeteneğine sahip uygulamaları tasarlamak için ortak stratejiler veya tasarım kalıpları var mı? Örneğin, kendi bilgi türlerinize sahip olabileceğiniz SalesForce gibi ürünleri, Expression Engine gibi çerçeveleri ve kanalları ve kanal alan gruplarını işleme biçimini (Örnek) veya CMSes Like wordpress'in özel …

5
Aşırı yükleme Açık / kapalı prensibine bir örnek midir?
Wikipedia diyor "yazılım varlıkları (sınıflar, modüller, işlevler, vb.) genişletme için açık, ancak değişiklik için kapalı olmalıdır" Kelime fonksiyonları gözlerimi yakaladı ve şimdi bir yöntem için aşırı yük oluşturmanın Açık / kapalı prensibinin bir örneği olarak kabul edilebileceğini varsayabilir miyiz acaba? Bir örnek açıklayayım. Hizmet katmanınızda neredeyse 1000 yerde kullanılan bir …

8
Gerçek bir KISS çözümü ne kadar basittir? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 8 yıl önce kapalı . …

1
Ajax-heavy web uygulamaları için desenler
Şimdiye kadar, web uygulamaları geliştirmek için MVC modelinin büyük bir hayranıydım. Web için çoğunlukla PHP'de (Kohana ve CodeIgniter çerçeveleriyle) ve Ruby'de (RoR) geliştirdim. Uygulamalarım Ajax tarafında ağırlaştıkça (tek sayfalık uygulamalar vb.) MVC'nin temel kavramlarına ihanet edemediğimi fark ettim: Javascript işlerin çoğunu yapıyor; sadece görüntüleme veya daha fazla js / json …


3
Joshua Bloch'un Builder Tasarım Desenindeki İyileştirmeler?
2007 yılında, Joshua Blochs'un "oluşturucu kalıbını" ele geçirmesi ve özellikle bir nesnenin çoğu isteğe bağlı olan çok sayıda özelliğe sahip olması durumunda, yapıcıların ve ayarlayıcıların aşırı kullanımını geliştirmek için nasıl değiştirilebileceği hakkında bir makale okudum. Bu tasarım modelinin kısa bir özeti burada belirtilmiştir . Bu fikri beğendim ve o zamandan …

4
Bir başlatma yöntemine sahip olmaktan kaçının
Nerede bir sınıf ve bu sınıfta bir başlatma yöntemi var bu mevcut kodu var. Sınıfın nesnesi oluşturulduktan sonra, bu nesneye onun üzerinde başlat çağrısı yapmaları beklenir. Başlatma yönteminin var olmasının nedeni Nesne genel bir kapsama sahip olmak için erken oluşturulur ve sonra başlatma yöntemi daha sonra bağımlı olduğu bir dll …

1
REST web hizmetinin kimlik doğrulaması / erişim kontrolü için yazılım mimarisi
Yeni bir RESTful web hizmeti kuruyorum ve role dayalı bir erişim kontrol modeli sağlamam gerekiyor . Kullanıcıların hizmetlere erişmek için kullanıcı adlarını ve parolalarını sağlamasına ve daha sonra rollerine göre hizmetleri (hangi hizmetleri kullanabilecekleri, okuyabilir / okuyabilir, okuyabilir, vb.) Kullanabileceğini kısıtlayacak bir mimari oluşturmam gerekiyor bu kullanıcılara atanır. Diğer sorulara …

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.