«object-oriented» etiketlenmiş sorular

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


9
“Söyleme, Sorma” nın nasıl iyi bir OO olarak kabul edildiğine ilişkin açıklama
Bu blog yayını Hacker News’de birkaç oy aldı. C ++ 'dan gelince, bu örneklerin çoğu benim öğretildiklerime aykırı görünüyor. Örnek 2 gibi: Kötü: def check_for_overheating(system_monitor) if system_monitor.temperature > 100 system_monitor.sound_alarms end end iyi karşı: system_monitor.check_for_overheating class SystemMonitor def check_for_overheating if temperature > 100 sound_alarms end end end C ++ 'da …

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 …

3
Hangisi daha iyi bir uygulamadır - örnek veya statik olarak yardımcı yöntemler?
Bu soru öznel ama çoğu programcının buna nasıl yaklaştığını merak ettim. Aşağıdaki örnek sözde-C # 'dadır, ancak bu Java, C ++ ve diğer OOP dilleri için de geçerli olmalıdır. Her neyse, derslerime yardımcı yöntemler yazarken, bunları statik olarak ilan etme ve yardımcı yönteme ihtiyaç duyması durumunda alanları geçme eğilimindeyim. Örneğin, …

3
Prototip tabanlı OOP'un sınıf tabanlı OOP'a göre avantajları nelerdir?
Sınıf tabanlı diller bağlamında öncelikle OOP ile ilgilendikten sonra Javascript'i programlamaya başladığımda, prototip tabanlı OOP'un neden sınıf tabanlı OOP'a tercih edileceği konusunda kafam karışmıştı. Varsa prototip tabanlı OOP kullanmanın yapısal avantajları nelerdir? (örneğin, bazı uygulamalarda daha yoğun ya da daha az hafıza yoğun olacağını umar mıyız?) Kodlayıcının bakış açısından avantajları …

2
Alan Kay, Küçük Tarihin Erken Tarihi'ndeki “ödev” ile ne demek istedi?
Smalltalk'ın Erken Tarihi'ni okuyordum ve anlamını anlamamı sorgulamama neden olan birkaç "ödev" belirtisi var: OOP birçok motivasyondan gelmesine rağmen, ikisi merkezi idi. Büyük ölçek, ayrıntıların gizlenmesini içeren karmaşık sistemler için daha iyi bir modül şeması bulmaktı ve küçük ölçek ise daha esnek bir atama sürümü bulmak ve ardından onu tamamen …

3
Neden bir anemik etki alanı modeli C # / OOP'ta kötü kabul edilir, ancak F # / FP'de çok önemlidir?
F # 'daki bir blog yazısında eğlence ve kazanç için: İşlevsel bir tasarımda, davranışı verilerden ayırmak çok önemlidir. Veri türleri basit ve "aptal". Ve ayrıca, ayrı olarak, bu veri türlerine etki eden bir takım işlevlere sahipsiniz. Davranış ve verilerin birleştirilmesi gereken nesneye yönelik tasarımın tam tersi budur. Sonuçta, tam olarak …


9
İade zararlı olarak kabul edilir? Kod, onsuz işlevsel olabilir mi?
Tamam, bu yüzden başlık biraz tıkanma ama ciddi bir şekilde söylüyorum, bir süre tekme sorma . Mesajları , gerçek nesne yönelimli biçimde kullanılmaya teşvik etmeyi seviyorum . Ama bunun kafamda karmakarışık olan bir dırdır sorunu var. İyi yazılmış bir kodun OO ilkelerini ve işlevsel ilkelerini aynı anda izleyebileceğinden şüphelenmeye başladım. …

8
Alıcıların ve ayarlayıcıların içinde nelere izin verilmeli?
Alıcı ve ayarlayıcı yöntemleri ve kapsülleme hakkında ilginç bir internet tartışmasına girdim. Birileri yapmaları gereken tek şey, onları "saf" tutmak ve enkapsülasyonu sağlamak için bir değişken (atamalar) veya değişken bir erişim (alıcılar) olduğunu söyledi. Bunun, alıcıların ve belirleyicilerin ilk sırada yer almasının amacını tamamen ortadan kaldıracağı doğru muyum ve doğrulama …

8
OOP'tan önce veri yapısı üyeleri herkese açık mı kaldı?
Bir OOP dili kullanılarak bir veri yapısı (örneğin, bir sıra) uygulandığında, veri yapısının bazı üyelerinin özel olması gerekir (örneğin, sıradaki öğe sayısı). Bir sıra, işlemsel bir dilde structve üzerinde çalışan bir dizi işlevi kullanarak da uygulanabilir struct. Ancak, usule ilişkin bir dilde üyelerin structözel üyeliğini yapamazsınız . Bir veri yapısının …


11
Hata değişkenleri bir model mi yoksa iyi bir tasarım mı?
Yürütmeyi durdurmaması gereken olası birkaç hatayla başa çıkmak için error, istemcilerin istisnalar atmak için denetleyebileceği ve kullanabileceği bir değişkenim var. Bu bir Anti-Pattern mi? Bununla baş etmenin daha iyi bir yolu var mı? Bunun bir örneği olarak PHP'nin mysqli API'sini görebilirsiniz. Görünürlük sorunlarının (erişimciler, genel ve özel kapsam, bir sınıftaki …


1
Programcılar neden Acme'yi bir paket, ad alanı veya dizin adı olarak kullanıyorlar?
Bu aptalca bir soru olabilir veya olmayabilir, ama bir süredir beni rahatsız eden bir şeyin cevabını gerçekten bilmek istiyorum. Programcının örneklerini / konvansiyonlarını sık sık görüyorum, burada programcının acmeiçine bir şeyler koymak için bir dizin oluşturduğunu gösterir. Ne Acmedemek istiyorsun? Neden Acme ve Emca veya diğer değil? Acme, çeşitli OOP …

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.