«solid» etiketlenmiş sorular

Bir dizi tasarım ilkesi için anımsatıcılar: Tek sorumluluk, Açık-kapalı, Liskov ikamesi, Arayüz ayrımı, Bağımlılık dönüşümü

16
Tek Sorumluluk İlkesini kullanırken, “sorumluluk nedir?”
"Tek Sorumluluk İlkesi" nin "sadece bir şey yaptığı" anlamına gelmediği çok açık görünüyor. Bunun için yöntemler var. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID); } Bob Martin, “sınıfların değişmesi için tek bir neden olması gerektiğini” söylüyor. Ancak, …

6
KATI Prensipler ve kod yapısı
Yakın tarihli bir iş görüşmesinde, çeşitli ilkelerin temel anlamını sağlamanın ötesinde, SOLID ile ilgili bir soruya cevap veremedim . Bu beni gerçekten rahatsız ediyor. Birkaç gün etrafta kazmaya değer bir şey yaptım ve henüz tatmin edici bir özet bulamadım. Görüşme sorusu şuydu: SOLID prensiplerine kesinlikle uyduğunuzu söylediğim bir Net projesine …
150 c#  .net  solid 

10
Bu Liskov Değişim İlkesinin ihlali midir?
Diyelim ki bir Görev varlıkları listesi ve bir ProjectTaskalt tür var. Görevler, ProjectTasksBaşlama statüsüne sahip olduklarında kapatılamaz olmaları haricinde, herhangi bir zamanda kapatılabilir. Kullanıcı Arabirimi, bir başlatmayı kapatma seçeneğinin ProjectTaskhiçbir zaman kullanılabilir olmadığından emin olmalıdır , ancak alanda bazı güvenlik önlemleri vardır: public class Task { public Status Status { …

12
SetWidth ve SetHeight yöntemlerini geçersiz kılarsak, Kare'yi Dikdörtgen'den devralmak neden sorunlu olsun?
Bir Kare bir Dikdörtgen türü ise, neden bir Kare Dikdörtgenden miras alamaz? Ya da neden kötü bir tasarım? İnsanların söylediklerini duydum: Kare'yi Dikdörtgen'den türetmişseniz, bir dikdörtgen beklediğiniz her yerde bir Kare kullanılabilir olmalıdır Burada problem nedir? Ve neden bir dikdörtgen beklediğiniz her yerde Kare kullanılabilir? Yalnızca Square nesnesini oluşturursak ve …

4
SOLID'i takip etmek teknoloji yığınının üstüne bir çerçeve yazmaya yol açar mı?
SOLID'den hoşlanıyorum ve geliştirirken kullanmak ve uygulamak için elimden geleni yapıyorum. Ancak yardım edemiyorum ama SOLID yaklaşımı kodunuzu 'çerçeve' koduna dönüştürüyormuş gibi hissediyorum - yani diğer geliştiricilerin kullanması için bir çerçeve veya kitaplık oluştururken tasarlayacağınız kod. Genelde 2 programlama modu uygulamıştım - gereksinimler ve KISS (tipik programlama) aracılığıyla tam olarak …
70 frameworks  solid 

8
Bir sınıf, tek sorumluluk ilkesini ihlal etmeden nasıl birden fazla yönteme sahip olabilir?
Tek sorumluluk ilkesi wikipedia'da şöyle tanımlanır: Tek sorumluluk ilkesi, her modül, sınıf veya işlevin yazılım tarafından sağlanan işlevselliğin tek bir parçası üzerinde sorumluluğa sahip olması gerektiğini ve bu sorumluluğun tamamen sınıf tarafından kapsanması gerektiğini belirten bir bilgisayar programlama ilkesidir. Bir sınıf sadece tek bir sorumluluğa sahipse, nasıl birden fazla metoda …

10
'Final' anahtar kelimesi neden hiç faydalı olsun?
Görünüşe göre Java yaşları boyunca türev edilemez sınıfları ilan etme gücüne sahipti ve şimdi C ++ 'da da var. Ancak, SOLID'deki Aç / Kapat ilkesinin ışığında, bu neden faydalı olabilir? Bana göre, finalanahtar kelime kulağa benziyor friend- yasal, ancak kullanıyorsanız büyük olasılıkla tasarım yanlıştır. Lütfen türetilemeyen bir sınıfın mükemmel bir …
54 java  c++  solid  final 

5
Test edilebilir kodu destekleyen tasarım ilkeleri nelerdir? (test edilebilir sürüş testi vs testlerle sürüş tasarımı)
Çalıştığım projelerin birçoğu, sonraki testlerde ünite testlerini kabus yapan, geliştirme ve ünite testlerini ayrı ayrı ele alıyor. Amacım, yüksek seviye ve düşük seviye tasarım aşamalarında test sırasında akılda tutulmasıdır. Test edilebilir kodu destekleyen iyi tanımlanmış tasarım ilkeleri olup olmadığını bilmek istiyorum. Son zamanlarda anladığım bir ilke, Bağımlılık enjeksiyonu ve Kontrolün …

5
IOC Konteynerleri OOP İlkelerini çiğniyor
IOC Konteynerlerinin amacı nedir? Bunun için birleştirilmiş sebepler aşağıdakilerle basitleştirilebilir: OOP / SOLID Development prensiplerini kullanırken, Bağımlılık Enjeksiyonu dağınık hale gelir. Ya üst seviyedeki giriş noktalarına sahip olmanız, alt seviyelerdeki bağımlılıkları yönetme ve bağımlılıkları inşaat boyunca yinelemeli olarak geçirme ya da fabrika / imalatçı modellerinde ve ihtiyaç duyduğunuzda bağımlılıkları oluşturan …

7
SOLID? A geçiş yaptıktan sonra büyük oranda artan sınıf sayısını yönetmek ve düzenlemek
Son birkaç yılda, yavaş yavaş adım adım ilerleyerek daha iyi yazılmış bir koda geçiyoruz, bir seferde birkaç adım. Sonunda en azından SOLID'e benzeyen bir şeye geçmeye başlıyoruz, ancak henüz tam olarak orada değiliz. Geçiş yaptıktan bu yana, geliştiricilerin en büyük şikayetlerinden biri, daha önce her görevin yalnızca geliştiricinin 5-10 dosyaya …

8
LSP vs OCP / Liskov Değişimi VS Aç Kapat
OOP'un SOLID ilkelerini anlamaya çalışıyorum ve LSP ile OCP'nin bazı benzerlikleri olduğu sonucuna vardım (daha fazla söylemediyseniz). açık / kapalı prensipte "yazılım varlıkları (sınıflar, modüller, fonksiyonlar vb.) uzatma için açık, ancak değişiklik için kapalı olmalıdır" yazmaktadır. Basit bir ifadeyle LSP, herhangi bir örneğinin türetilmiş Fooherhangi bir örneğiyle değiştirilebileceğini ve programın …


7
Bağımlılık İnversiyon Prensibi ne zaman uygulanmayacaktır?
Şu anda SOLID'i anlamaya çalışıyorum. Dolayısıyla, Bağımlılık İnversiyon Prensibi, herhangi bir iki sınıfın doğrudan değil de arayüzlerle iletişim kurması gerektiği anlamına gelir. Örnek: class ABir işaretçiyi türdeki bir nesneye bekleyen bir yönteme sahipse , class Bbu yöntem aslında türden bir nesne beklemelidir abstract base class of B. Bu, Aç / …

7
KATI ilkeleri ve YAGNI
SOLID ilkeleri ne zaman YAGNI olur? Programcılar olarak, karmaşıklık, sürdürülebilirlik, inşa edilme zamanı vb. Arasında her zaman değiş tokuş yaparız. Diğerlerinin yanı sıra, seçim yapmak için en akıllı ilkeler aklımda SOLID ilkeleri ve YAGNI. İhtiyacınız yoksa; İnşa etmeyin ve temiz tutun. Şimdi, örneğin, SOLID'de dimecast serisini izlerken, oldukça basit bir …

3
SOLID Prensiplerini Programlama
Zamanla SOLID'in iki bölümünü anlayabiliyordum - “S” ve “O”. “O” - Miras ve Strateji Örüntüsünün yardımıyla Açık Kapalı Prensibi öğrendim. “S” - ORM öğrenirken Tek Sorumluluk ilkesini öğrendim (sebat mantığı alan nesnelerinden uzaklaştırıldı). Benzer şekilde, diğer SOLID bölümlerini (“L”, “I” ve “D”) öğrenmek için en iyi bölgeler / görevler nelerdir? …

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.