«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
Alıcıları ve ayarlayıcıları hangi sırayla tanımlar? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 7 yıl önce kapalı . …

2
Joe Armstrong'dan Muz Maymun Ormanı problemini açıklayan örnek kod [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 2 yıl önce kapalı . İşyerinde Kodlayıcılar kitabında Joe Armstrong şunları söyledi: Yeniden kullanılabilirlik eksikliği işlevsel dillerde değil, nesne yönelimli dillerde geliyor. …

6
Aşağıdaki kod snippet'inden çok / if-if dan kaçmanın en iyi yolu nedir?
Ben girdi olarak geçti "eylem" değerine dayalı görev yapan bir sunucu uygulaması yazmaya çalışıyorum. İşte örneği public class SampleClass extends HttpServlet { public static void action1() throws Exception{ //Do some actions } public static void action2() throws Exception{ //Do some actions } //And goes on till action9 public void doPost(HttpServletRequest …

2
LinkedList genişletme yığını. Liskov İkame İlkesinin ihlali mi?
Add_first (), add_last (), add_after (), remove_first (), remove_last () ve remove () gibi işlevlerle bir sınıf LinkedList var. Şimdi push (), pop (), peek () veya top () gibi işlevler sağlayan bir Sınıf Stack var ve bu yöntemleri uygulamak için LinkedList sınıf yöntemlerini genişletiyor. Bu Liskov İkame İlkesinin ihlali …

8
“Miras yerine kompozisyonu tercih et” - İmza değişikliklerine karşı savunmanın tek nedeni mi?
Bu sayfa , miras üzerinde kompozisyonu aşağıdaki argümanla savunuyor (kelimelerimde yeniden ifade etti): Üst sınıf yönteminin imzasındaki bir değişiklik (alt sınıfta geçersiz kılınmamış olan), Devralma kullandığımızda birçok yerde ek değişikliklere neden olur. Ancak, Kompozisyon'u kullandığımızda, gerekli ek değişiklik yalnızca tek bir yerde bulunur: Alt sınıf. Miras yerine kompozisyonu tercih etmenin …

6
Bir nesneyi sunum yapan kişiyle eşlemenin OOP yolunu temizleme
Her parça (gibi kendi türüdür Java, (örneğin satranç gibi) bir masa oyunu yaratacağım Pawn, Rookvs.). Uygulamanın GUI kısmı için bu parçaların her biri için bir görüntüye ihtiyacım var. Yaptığımdan beri rook.image(); UI ve iş mantığının ayrılmasını ihlal ediyor, her parça için farklı bir sunucu oluşturacağım ve daha sonra parça türlerini …

4
Tek sorumluluğa sahip büyük sınıf
2500 Satır Charactersınıfı var: Oyundaki karakterin dahili durumunu izler. Bu durumu yükler ve devam ettirir. ~ 30 gelen komutu işler (genellikle = komut satırına iletir Game, ancak bazı salt okunur komutlar hemen yanıtlanır). Yaptığı Gameeylemler ve diğerlerinin ilgili eylemleri hakkında ~ 80 çağrı alır. Bana göre Charactertek bir sorumluluğu var: …

3
Arabirimleri içeren bir simülasyon için bu kötü OOP tasarımı mı?
Vampirleri, Kurtları, İnsanları ve Kamyonları simüle etmek için kendi küçük OOP programımı tasarlıyorum ve kendi sınırlı arayüzler arayüzümü uygulamaya çalışıyorum. ( Ben hala burada soyutlama ve henüz kod uygulaması yok, bu yüzden OOP tasarımı bir soru ... sanırım!) Bu sınıflar arasında 'ortak davranış' aramak ve bunları arayüz olarak uygulamakta haklı …

4
Bir C yapısı bir işlevi varmış gibi davranabilir mi?
structBir yapının üyelere sahip olabileceği ancak fonksiyonların bulunmadığı yerlerde C ve s kullanıyorum . Basitlik için ben ad dizeleri için bir yapı oluşturmak istediğinizi varsayalım ve dize dizini ve pozisyonda karakteri değiştirmek için karakter nerede stryapmak istiyorum varsayalım . Yapılar işlevlere sahip olamayacağı için bu asla mümkün olmaz mı veya …

3
Hangi nedenlerle Swift'teki her delege için ayrı bir sınıf uzantısı kullanırsınız?
Bir Ray Wenderlich öğretici ile çalışıyordu ve yazar onları sınıfta yani ele alınması yerine delege geri çağırmaları tutmak için sınıf uzantıları kullandığını fark ettim: sınıf uzantısı içindeki geri çağrılara temsilci seçme: extension LogsViewController : UIPopoverPresentationControllerDelegate { func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle { ... } } sınıf içinde yer …

6
Bağımlılık enjeksiyon çerçeveleri için argümanlardan birini sorgulamak: Nesne grafiği oluşturmak neden zor?
Google Guice gibi bağımlılık enjeksiyon çerçeveleri kullanımları için aşağıdaki motivasyonu sağlar ( kaynak ): Bir nesneyi oluşturmak için önce bağımlılıklarını oluşturursunuz. Ancak her bağımlılığı inşa etmek için bağımlılıklarına ihtiyacınız var vb. Bu nedenle, bir nesne oluşturduğunuzda, gerçekten bir nesne grafiği oluşturmanız gerekir. Elle nesne grafikleri oluşturmak emek yoğundur (...) ve …

6
Nesneye yönelik programlama nasıl yapılır? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. 6 yıl önce kapalı . Kilitli . Bu soru ve cevapları kilitlidir çünkü soru konu dışıdır, ancak tarihsel önemi vardır. Şu anda yeni yanıtları veya etkileşimleri kabul etmiyor. Her zaman prosedür dillerinde programladım ve şu anda nesne yönelime …

6
Hangi İşlevsel özellikler getirdikleri faydalar için biraz OOP karışıklığına değer?
Haskell ve F # 'da fonksiyonel programlamayı öğrendikten sonra, OOP paradigması sınıflar, arayüzler, nesnelerle geriye doğru görünüyor. İş arkadaşımın anlayabileceği işe FP'nin hangi yönlerini getirebilirim? Bunları kullanabilmemiz için patronumla takımımı yeniden eğitme konusunda konuşmaya değer FP stilleri var mı? FP'nin olası yönleri: değişmezlik Kısmi Uygulama ve Kurutma Birinci Sınıf Fonksiyonlar …

4
Raylar: Demeter Karışıklık Kanunu
Rails AntiPatterns adlı bir kitap okuyorum ve Demeter Yasasını çiğnemekten kaçınmak için delegasyondan bahsediyorlar. İşte onların en iyi örneği: Denetleyicide böyle bir şey çağırmanın kötü olduğuna inanıyorlar (ve katılıyorum) @street = @invoice.customer.address.street Önerilen çözümleri aşağıdakileri yapmaktır: class Customer has_one :address belongs_to :invoice def street address.street end end class Invoice has_one …

1
Zorunlu programlama işlevsel programlamaya göre neden tercih edilir? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 6 yıl önce kapalı . Arka plan: Geçerli zihinsel modelin zorunlu programlama olduğu bir VB.NET mağazasında çalışan fonksiyonel programlamanın savunucusuyum. Sistemimizin bu …

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.