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

8
Hiçbir şeyi temsil etmeyen sınıf - doğru mu?
Uygulamamı tasarlıyorum ve SOLID ve OOP'yi doğru bir şekilde anladığımdan emin değilim. Sınıflar 1 şeyi yapmalı ve iyi yapmalı ancak diğer taraftan birlikte çalıştığımız gerçek nesneleri temsil etmelidir. Benim durumumda veri setinde bir özellik çıkarımı yapıyorum ve ardından makine öğrenimi analizi yapıyorum. Üç sınıf oluşturabileceğimi farz ediyorum FeatureExtractor DataSet analizör …

8
Bir sınıfın asıl sorumluluğu nedir?
OOP'deki isimlere dayanan fiilleri kullanmanın yasal olup olmadığını merak ediyorum. Bu mükemmel makaleye rastladım , yine de yaptığı noktaya katılmıyorum. Sorunu biraz daha açıklamak için makale, örneğin bir FileWritersınıf olmaması gerektiğini , ancak yazmanın bir eylem olduğu için sınıfın bir yöntemi olması gerektiğini belirtir File. Bir Java programcısı, bir Java …


11
Her sınıfın sadece bir sorumluluğu olduğundan emin olun, neden?
Microsoft belgelerine göre, Wikipedia SOLID ilke makalesi veya çoğu BT mimarı, her sınıfın yalnızca bir sorumluluğunun olmasını sağlamalıyız. Nedenini bilmek istiyorum, çünkü eğer herkes bu kurala katılıyorsa kimse bu kuralın nedenleri konusunda hemfikir değil gibi görünüyor. Bazıları daha iyi bakım sunulduğunu, bazılarının kolay test edildiğini veya sınıfın daha sağlam veya …


5
Sabitleri nereye koymalı ve neden?
Çoğunlukla büyük uygulamalarımızda, genellikle "sabitler" için yalnızca birkaç yerimiz vardır: GUI ve iç kalıcılar için bir sınıf (Sekme Sayfa başlıkları, Grup Kutusu başlıkları, hesaplama faktörleri, numaralandırmalar) Veritabanı tabloları ve sütunları için bir sınıf (bu bölüm kod oluşturulur) artı bunlar için okunabilir adlar (el ile atanır) Uygulama mesajları için bir sınıf …

6
Bloktaki ek satır - Temiz Koddaki ek parametre
bağlam In Temiz Kod , sayfa 35, diyor Bu, if ifadelerindeki blokların, başka ifadelerin, while ifadelerinin vb. Bir satır uzunluğunda olması gerektiği anlamına gelir. Muhtemelen bu hat bir işlev çağrısı olmalıdır. Bu sadece çevreleyen işlevi küçük tutmakla kalmaz, aynı zamanda belgesel değeri de ekler çünkü blok içinde çağırılan işlev güzel …
33 clean-code  solid 

9
Bireysel özellikler yerine bütün sınıfları parametre olarak alabilmek için bir Sınıf tasarlamak
Diyelim ki, denilen yaygın olarak paylaşılan bir sınıfla bir uygulamanız var User. Bu sınıf, kullanıcı, kimliği, adı, her modüle erişim düzeyleri, saat dilimi vb. Hakkındaki tüm bilgileri gösterir. Kullanıcı verilerine açıkça sistem genelinde geniş bir şekilde atıfta bulunulmaktadır, ancak her ne sebeple olursa olsun, sistem bu kullanıcı nesnesini ona bağlı …
30 java  c#  design  solid 



3
Statik yöntemlerle statik sınıflar SOLID olarak kabul edilir mi?
SOLID , “bir programdaki nesnelerin, bu programın doğruluğunu değiştirmeden alt tiplerinin örnekleriyle değiştirilmesi gerektiği” fikrini taşıyan Liskov ikame ilkesini içerir . Statik yöntemlerle statik sınıflar ( Mathsınıf gibi bir bit ) hiç bir örneğe sahip olmadığından, statik yöntemlerle statik sınıflarım varsa, sistemim SOLID olarak kabul edilir mi?

12
SOLID - Erken Soyutlamanın Önlenmesi
Ben ne olduğunu anlamak KATI başarmak ve modülerlik önemlidir ve onun hedefleri açıkça faydalıdır durumlarda düzenli kullanmak gerekiyordu. Ancak, iki şey benim kod tabanımda tutarlı bir şekilde uygulamamı engelliyor: Erken soyutlamadan kaçınmak istiyorum. Tecrübelerime göre somut kullanım senaryoları olmadan soyutlama çizgileri çizmek (şimdiki veya öngörülebilir gelecekte var olan türler ) …

8
SOLID ilkelerinin bazılarının veya tamamının kodu temizlemek için antitetik olduğu OOP tatları var mı?
Geçenlerde video oyun geliştirmede OOP hakkında bir arkadaşımla bir tartışma yaptım. Arkadaşlarımın sürprizine göre, birçok küçük sınıf ve birkaç soyutlama katmanı içeren oyunlarımdan birinin mimarisini açıklıyordum. Bunun, her şeye Tek Sorumluluk vermeye ve aynı zamanda bileşenler arasındaki eşleşmeyi gevşetmeye odaklanmamın sonucu olduğunu savundum. Endişesi, çok sayıda sınıfın bir bakım kabusuna …

11
Banka dünyasında kod tasarım çabasını veya tembelliği seçin
İki yıl boyunca harika bir Yatırım Bankasında çalıştım. En iyi şekilde kod yaratma arzusuyla, uyarlanmış iyi tasarım modellerine saygı göstererek, SOLID ilkesini, silgi yasasını ve her türlü çift koddan kaçınmayı ... Üretimde teslimat => sıfır hata olduğunda, tümü beklendiği gibi oldu. Ancak, tüm kodlarımın okuduğunu anlama için çok karmaşık olduğunu …

5
Yedekli özel durumlar Liskov İkame İlkesini ihlal ediyor mu?
Diyelim ki FooInterfaceaşağıdaki imzayı içeren bir arayüzüm var: interface FooInterface { public function doSomething(SomethingInterface something); } Ve ConcreteFoobu arayüzü uygulayan somut bir sınıf : class ConcreteFoo implements FooInterface { public function doSomething(SomethingInterface something) { } } ConcreteFoo::doSomething()Özel bir SomethingInterfacenesne türünden geçtiyse benzersiz bir şey yapmak istiyorum (diyelim ki çağrılıyor SpecialSomething). …

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.