«object-oriented-design» etiketlenmiş sorular

Nesne yönelimli tasarım, bir yazılım problemini çözmek için etkileşen nesneler sistemini planlama sürecidir.

4
Bir Hashtable ve Sözlük c # pratik boyut sınırları
Bir C # 4 Sözlüğü'nün veya Hashtable'ın içerebileceği öğe sayısı ve bu yapıların makul şekilde içerebileceği toplam bayt sayısı için pratik limitler nelerdir. Çok sayıda nesne ile çalışacağım ve bu yapıların ne zaman sorun yaşamaya başladığını bilmek istiyorum. Bağlam için tonlarca belleğe sahip 64 bit sistem kullanacağım. Ayrıca, bazı form …

5
Varlık Çerçevesi ile Etki Alanında Tasarımın Tuzakları
İncelediğim DDD hakkında birçok ders çoğunlukla teoriyi kapsıyor. Hepsinin ilkel kod örnekleri vardır (Çoğul görüş ve benzeri). Web'de ayrıca birkaç kişi tarafından DDD ile EF'yi kapsayan öğreticiler oluşturma girişimleri de vardır. Onları kısaca incelemeye başlarsanız - birbirlerinden çok farklı olduklarını hemen fark edersiniz. Bazı insanlar uygulamayı asgari düzeyde tutmayı ve …

2
Yalnızca bir örneği olan Python sınıfları: Ne zaman (tek) sınıf örneği oluşturulur ve bunun yerine sınıfla ne zaman çalışır?
Yalnızca bir kez başlatılacak olan bir Python sınıfı verildiğinde, yani sınıfın yalnızca bir nesnesi olacaktır. Hangi durumlarda doğrudan sınıfla çalışmak yerine tek bir sınıf örneği oluşturmanın mantıklı olduğunu merak ediyordum. Benzer bir soru var , ama farklı bir odağı var: küresel değişkenleri ve fonksiyonları bir sınıfa ayırmak ve Python'a özgü …

5
Bu senaryoda kompozisyon veya miras tercih etmeli miyim?
Bir arayüz düşünün: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Bu arayüz, farklı şekillerdeki dalgaları (örneğin SineWaveGeneratorve SquareWaveGenerator) üreten birkaç sınıf tarafından uygulanır . SoundWaveHam ses verilerine değil, müzik verilerine dayanan bir sınıf uygulamak istiyorum . Bir notun adını ve vuruş sayısı (saniye değil) cinsinden bir uzunluğunu alır …

3
Bir sınıftaki öznitelikleri önceden başlatmak veya bunları yol boyunca eklemek daha iyi bir uygulama mıdır?
Bu KESİNLİKLE ikinci sınıf bir soru ise özür dilerim, ancak en iyi uygulamaların ne olduğunu merak ediyorum ve Google'da iyi bir cevap bulamıyorum. Python, genellikle boş bir sınıfı bir süper-catchall veri yapısı kapsayıcı (JSON dosyası gibi bir tür) olarak kullanın ve yol boyunca öznitelikleri ekleyin: class DataObj: "Catch-all data object" …

4
“Karma” dillerde tasarım: nesne yönelimli tasarım mı, yoksa işlevsel programlama mı?
Son birkaç yıldır, kullanmak istediğim diller giderek daha "işlevsel" hale geliyor. Şimdi bir çeşit "melez" olan dilleri kullanıyorum: C #, F #, Scala. Uygulamamı etki alanı nesnelerine karşılık gelen sınıfları kullanarak tasarlamayı ve bunun kodlamayı daha kolay, daha çakışık ve daha güvenli hale getirdiği işlevsel özellikleri kullanmayı seviyorum (özellikle koleksiyonlarda …

4
Kapsülleme aşırı kullanımından muzdarip miyim?
Çeşitli projelerde kodumda bana kod kokusu ve yapmak kötü bir şey gibi görünen bir şey fark ettim, ancak bununla başa çıkamıyorum. "Temiz kod" yazmaya çalışırken, kodumu okumayı kolaylaştırmak için özel yöntemleri aşırı kullanma eğilimindeyim. Sorun kod gerçekten daha temiz ama aynı zamanda test etmek daha zor (evet biliyorum özel yöntemleri …

9
SOLID ve statik yöntemler
Sık sık karşılaştığım bir sorun var: Ürün sınıfı olan bir web mağazası projesi olsun. Kullanıcıların bir ürüne yorum göndermesine olanak tanıyan bir özellik eklemek istiyorum. Bu yüzden bir ürünü referans alan bir Review sınıfım var. Şimdi bir ürün için tüm değerlendirmeleri listeleyen bir yönteme ihtiyacım var. İki olasılık vardır: (A) …

7
Tasarım açısından, günlüğe kaydetme için en iyi uygulamalar nelerdir? [kapalı]
Kapalı . Bu sorunun daha fazla odaklanması gerekiyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu, yalnızca bu yayını düzenleyerek tek bir soruna odaklanacak şekilde güncelleyin . 6 yıl önce kapalı . Şu anda üzerinde çalıştığım bir uygulamaya günlük kaydı eklemek istiyorum. Daha önce günlük kaydı …

10
Özelliklerin anlamı nedir?
İşte özellikler ve karşı argümanlarım için bazı argümanlar: Alıcı ve ayarlayıcı yöntemleri yazmaktan daha kolay Getter ve setter yöntemi çiftleri bir kod kokusudur. Bunları yazmayı kolaylaştırmak, Scantron formunu kullanarak ve tüm 'C'leri doldurarak bir matematik testinde başarısız olmayı kolaylaştırmak gibidir. Kalıcılık için yalnızca durum içeren nesneler alıcılar / ayarlayıcılar kullanmamalı …

2
Nesneye Yönelik Geç Bağlama
In Odaklı Nesne Of Alan Kays Tanımı kısmen ben anlamıyorum bu tanım vardır: OOP bana sadece mesajlaşma, yerel tutma ve devlet sürecinin korunması ve gizlenmesi ve her şeyin aşırı Geç Bağlanması anlamına gelir. Peki "LateBinding" ne anlama geliyor? Bunu C # gibi bir dile nasıl uygulayabilirim? Ve bu neden bu …

4
Sınıf Çoğaltma Kalıbı?
Şu anda mevcut projemde solo geliştirici olarak çalışıyorum. Projeyi, şirketten ayrılan başka bir geliştiriciden miras aldım. C # model görünüm denetleyicisi tarzı bir web uygulamasıdır. Nesne ilişkisel eşleme için Entity Framework kullanır. Etki alanı modelindeki türler için iki farklı sınıf kümesi vardır. Bir set ORM ile etkileşim için kullanılır ve …

5
Bir dizi işlem için en iyi OOP tasarım deseni
Ben bir modül aşağıdaki finansal işlemleri sırayla yapan bir uygulama üzerinde çalışıyorum: Bir kullanıcı banka hesabına belirli bir tutarın aktarılmasını istediğinde: şimdi herhangi bir işlem olup olmadığını kontrol edin? (işlem sadece belirli bir zaman diliminde yapılabilir) kullanıcının minimum bir tutarın geri çekilmesini isteyip istemediğini kontrol edin kullanıcının herhangi bir varsayılan …

4
“Erken soyutlama” nedir?
Cümlenin etrafına atıldığını duydum ve bana argümanlar tamamen çılgınca geliyor (burada samanlık çekiyorsam özür dilerim, Niyetim değil), genellikle şu satırlarda bir şeyler gider: Genel davanın ne olduğunu bilmeden soyutlama yapmak istemezsiniz, aksi takdirde (1) soyutlamalarınıza ait olmayan şeyleri koyuyor veya (2) önemli şeyleri atlıyor olabilirsiniz. (1) Bana göre bu programcı …

2
İş mantığını hizmet katmanına taşımadan etki alanı nesne özniteliklerindeki benzersiz çelişkileri kontrol etmenin zarif bir yolu var mı?
Yaklaşık 8 yıldır alan güdümlü tasarımı uyarlıyorum ve bunca yıldan sonra bile, beni rahatsız eden bir şey var. Bu, bir etki alanı nesnesine karşı veri depolamada benzersiz bir kayıt olup olmadığını kontrol etmektir. Eylül 2013'te Martin Fowler , mümkünse, tüm alan nesnelerine uygulanması gereken TellDon'tAsk prensibinden bahsetti , bu da …

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.