«object-oriented» etiketlenmiş sorular

Bir sistemin modüler bir şekilde kontrol edilip manipüle edilebilen bir dizi nesne olarak modellenmesini sağlayan bir metodoloji

6
“Bir arayüze programlama” anlamak
"Bir uygulama yerine bir arayüze programlama" terimi ile çok karşılaştım ve sanırım ne anlama geldiğini anlıyorum. Ancak bunun faydalarını ve olası uygulamalarını anladığımdan emin olmak istiyorum. "Arayüze programlama", mümkün olduğunda, somut bir uygulamaya atıfta bulunmak yerine, daha soyut bir sınıf seviyesine (bir arayüz, soyut sınıf veya bazen bir tür üst …

9
Neden çoğu “iyi bilinen” zorunlu / OO dili, 'hiçbir şey' değeri gösterebilecek türlere denetlenmeden erişime izin veriyor?
(Un) nullyerine (örneğin) sahip olmanın kolaylığını okudum Maybe. Bu makaleyi okuduktan sonra , kullanmanınMaybe (veya benzeri bir şey) daha iyi olacağına ikna oldum . Bununla birlikte, tüm "iyi bilinen" zorunlu veya nesne yönelimli programlama dillerinin (hala null'hiçbir şey' değerini temsil edebilecek türlere denetlenmeyen erişime izin veren) Maybekullandığını ve çoğunlukla işlevsel …

7
“Veri gizleme” ve “kapsülleme” arasındaki fark nedir?
"Uygulamada Java eşzamanlılığı" okuyorum ve şöyle söylendi: "Neyse ki, iyi düzenlenmiş, korunabilir sınıflar yazmanıza yardımcı olan aynı nesne yönelimli teknikler - kapsülleme ve veri gizleme gibi sınıflar." Problem # 1 - Verilerin gizlendiğini duymadım ve ne olduğunu bilmiyorum. Sorun # 2 - Ben her zaman kapsüllemenin kamuya karşı özel kullanıyor …

12
Bir sınıf neden “soyut” veya “final / mühürlü” den başka bir şey olsun?
10+ yıllık java / c # programlamasından sonra kendimi yaratırken buluyorum: soyut sınıflar : sözleşme olduğu gibi başlatılmak için tasarlanmamıştır. son / mühürlü sınıflar : Uygulama, başka bir şeye temel sınıf olarak hizmet etme amaçlı değildir. Basit bir "sınıf" ın (yani ne soyut ne de son / mühürlü) "akıllıca programlama" …

12
Bir sınıf için ne kadar büyük?
Uzun zamandır geliştiriciyim (49 yaşındayım) ama nesne odaklı geliştirmede yeniyim. Bertrand Meyer’in Eiffel’inden beri OO hakkında okudum, ancak çok az OO programlaması yaptım. Mesele şu ki, OO tasarımındaki her kitap, bir tekne, araba veya çok sık kullandığımız ortak nesnelerden bir örnekle başlar ve öznitelikler ve yöntemler eklemeye başlar ve nesnenin …



6
Temel türlerin (int gibi) sınıf olarak uygulanmasının uyarıları nelerdir?
Tasarımı ve nesne yönelimli bir programlama dili implenting, bazı nokta birinde temel türleri uygulama hakkında bir seçim (gibi yapmalıdır int, float, doublesınıflar ya da başka bir şey olarak veya eşdeğerleri). Açıkçası, C ailede diller eğilimi olmayan (Java özel ilkel türleri, değişmez yapılar olarak onları C # uygular, vb vardır) sınıfları …

7
İşlevsel programlama “Modüllere Ayrıştırma Sistemlerinde Kullanılacak Kriterler Üzerinden” (veri gizleme) 'den kazanılan faydaları görmezden geliyor mu?
İlk kez okuduğum Modüllere Ayrıştırma Sistemlerinde Kullanılacak Kriterler Üzerine adlı klasik bir makale var . Bana çok mantıklı geliyor ve muhtemelen OOP'un dayandığı makalelerden biri. Sonuç: Bu örneklerle, bir sistemin bir akış şeması temelinde modüllere ayrıştırılmasının başlamasının neredeyse her zaman yanlış olduğunu göstermeye çalıştık. ... Her modül daha sonra böyle …


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 ) …

14
OO dışı kod üslerinin büyüklüğü yönetiliyor mu?
Her zaman soyutlamanın OO'nun kod tabanını yönetmek için sağladığı çok kullanışlı bir özellik olduğunu görüyorum. Fakat büyük OO dışı kod tabanları nasıl yönetiliyor? Yoksa bunlar sonunda " Büyük Çamur Topu " olur mu? Güncelleme: Herkesin soyutlamanın sadece modülerleşme veya veri gizleme olduğunu düşünüyor gibiydi. Ancak IMHO, aynı zamanda bağımlılık enjeksiyon …

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 …

6
İşlevsel programlama nesne yöneliminin üst kümesi midir?
Ne kadar işlevsel programlama yaparsam, o kadar çok hissederim ki, bir soğanın tabakası, önceki tabakaları kapsayan bir soyutlama tabakası ekler. Bunun doğru olup olmadığını bilmiyorum, bu yüzden yıllarca birlikte çalıştığım OOP prensiplerinin dışına çıkmak, herhangi birinin ne kadar işlevsel olduğunu veya hiçbirini doğru şekilde göstermediğini açıklayabilir: Kapsülleme, Soyutlama, Kalıtım, Polimorfizm …

5
Bir OO programını işlevsel bir programa nasıl yeniden aktive edebilirim?
Programları işlevsel bir tarzda yazma konusunda kaynakları bulmakta güçlük çekiyorum. Çevrimiçi olarak tartışılan en gelişmiş konu, sınıf hiyerarşilerini azaltmak için yapısal yazmayı kullanmaktı; çoğu zorunlu döngüleri değiştirmek için map / fold / reduc / etc komutunun nasıl kullanılacağı ile ilgilidir. Gerçekten bulmak istediğim şey, önemsiz olmayan bir programın ÇOP uygulamasının …

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.