«object-oriented» etiketlenmiş sorular

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


5
Mantıklı (ama) karmaşık kalıtımla ilgili pek çok küçük sınıf
Gelecekte iyi OOP tasarımı, temiz kod, esneklik ve kod kokularından kaçınmak açısından neyin daha iyi olduğunu merak ediyorum. Sınıf olarak temsil etmeniz gereken çok sayıda benzer nesneye sahip olduğunuz görüntü durumu. Bu sınıflar belirli bir işlevselliğe sahip değildir, sadece veri sınıflarıdır ve sadece adlarına (ve bağlamına) göre farklıdır Class A …

7
Sadece bir şey yapan bir sınıf için örnek
Diyelim ki bu işi yapan bir prosedürüm var : void doStuff(initalParams) { ... } Şimdi "şeyler yapmanın" oldukça zorlayıcı bir işlem olduğunu keşfettim. Prosedür, ben birden fazla küçük prosedürler halinde bölmeli ve yakında bir tür olan fark büyük hale devletin Ben küçük prosedürler arasında daha az parametreler geçirmeniz gerekebilir böylece, …

5
Uygulama ayarlarını yüklemenin en iyi yolu
Bir Java uygulamasının ayarlarını korumanın basit bir yolu, belirli bir değerle ilişkilendirilmiş her bir ayarın tanımlayıcısını içeren ".properties" uzantılı bir metin dosyası ile gösterilir (bu değer bir sayı, dize, tarih vb. Olabilir). . C # benzer bir yaklaşım kullanır, ancak metin dosyası "App.config" olarak adlandırılmalıdır. Her iki durumda da, kaynak …

2
Bir inşaatçı neden kendi sınıf dosyasında bir iç sınıf olmak zorunda?
Birçok Builder Patternörnek Builder, oluşturduğu nesnenin iç sınıfını oluşturur. Bu ne Builderinşa ettiğini gösterir, çünkü biraz mantıklı . Ancak, statik olarak yazılmış bir dilde neyin Builderinşa edildiğini biliyoruz . Öte yandan Builderbir iç sınıftır, sen gerektiğini hangi sınıf bilmek Builderiçini bakmadan oluşturur Builder. Ayrıca, kurucuyu iç sınıf olarak bulundurmak, dış …

6
Bu mimaride OOP uygulamasını kırıyor muyum?
Bir web uygulamam var. Teknolojinin önemli olduğuna inanmıyorum. Yapı, soldaki resimde gösterilen N-katmanlı bir uygulamadır. 3 katman var. UI (MVC modeli), İş Mantığı Katmanı (BLL) ve Veri Erişim Katmanı (DAL) Sahip olduğum sorun BLL'imdeki uygulama olayları çağrısında mantığı ve yolları olduğu için büyük. Uygulamadan geçen tipik bir akış şu olabilir: …

6
Bir sınıfın kendi genel yöntemini kullanması uygun mudur?
Arka fon Şu anda ben bir var bir durum var nesneyi hem bir cihaz tarafından iletilen ve alınır. Bu mesajın aşağıdaki gibi birkaç yapısı var: public void ReverseData() public void ScheduleTransmission() ScheduleTransmissionYöntem ihtiyacı aramaya ReverseDatadenir her yöntemi. Ancak, nesnenin uygulamada başlatıldığı yerden ReverseDataharici olarak aramam gereken (ve ad alanının dışına …

2
DDD agrega serileştirme için en iyi yöntemler
DDD'ye göre, etki alanı mantığı, serileştirme, nesne-ilişkisel haritalama, vs. gibi teknik kaygılarla kirlenmemelidir. Peki, toplayıcıların durumunu alıcılar ve belirleyiciler aracılığıyla herkese açık bir şekilde ifşa etmeden nasıl seri hale getirir veya eşlersiniz? Örneğin depo uygulamaları için pek çok örnek gördüm, ancak pratikte hepsi haritalandırma için varlıklara ve değer nesnelerine kamu …

4
Neden birçok ördek tipi dinamik programlama dili prototip tabanlı OOP yerine sınıf tabanlı bir yaklaşım kullanıyor?
Oldukça dinamik programlama dilleri ördek yazma özelliğine sahip olduklarından ve istedikleri zaman ( Ruby ve Python gibi ) sınıf veya örnek yöntemlerini açıp değiştirebilirler . Soru 1) Dinamik bir dilde bir sınıfa ihtiyaç var mı? Dil neden bir sınıfı prototip yapmak yerine bir çeşit “şablon” olarak kullanmak ve sadece bir …

12
Nesneye Dayalı Tasarım
Diyelim ki aşağıdakilere sahipsin: +--------+ +------+ | Animal | | Food | +-+------+ +----+-+ ^ ^ | | | | +------+ +-------+ | Deer | | Grass | +------+ +-------+ Deergelen miras Animalve gelen Grassmiras Food. Çok uzak çok iyi. Animalnesneler nesneleri yiyebilir Food. Şimdi biraz karıştıralım. Şunun Lionhangisini devraldığını …

6
UML sınıf diyagramları JavaScript sistemlerini tasarlamak için yeterli midir?
UML'nin nesne yönelimi için daha klasik bir yaklaşıma yönelik olduğu göz önüne alındığında, JavaScript sistemleri tasarlamak için hala güvenilir bir şekilde kullanılabilir mi? Görebildiğim özel bir sorun, sınıf diyagramlarının aslında sistemin yapısal bir görünümü olduğu ve JavaScript'in daha fazla davranış odaklı olduğu, bununla nasıl başa çıkabileceğiniz? Lütfen buradaki gerçek dünya …

6
Fonksiyonları olan fiilleri, sınıfları olan isimleri kullanın - peki ya arayüzler? [kapalı]
Kapalı . Bu soru görüşe dayalı . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu güncelleyin, böylece bu yayını düzenleyerek gerçekleri ve alıntıları yanıtlayabileceksiniz . 4 yıl önce kapandı . Tamam, fiillerin işlevlerle ve isimlerin sınıflarla kullanılmasının normal kurallarını anlıyorum. Arayüzler ne olacak? Arayüz isimleri ile geldiğinde …

5
Nesneye yönelik programlama paradigması, modüler ve anti-paralel olduğu için modası geçmiş midir? [kapalı]
Kapalı . Bu soru görüşe dayalı . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu güncelleyin, böylece bu yayını düzenleyerek gerçekleri ve alıntıları yanıtlayabileceksiniz . 5 yıl önce kapandı . ÇŞB'de profesör olan Robert Harper tarafından yayınlanan birinci sınıf öğrencilere FP Öğretimine ilişkin tartışmalı makaleyi okudum . …

5
Tamamen işlevsel diller modülerliği nasıl ele alır?
Sınıfların, en azından nesneler yapmak için kullanılan veya mirasta kullanılan kodun kolay geri dönüşümünü sağlayan bir soyutlama katmanı yapmak için kullanılabileceğini veya en azından kullanılabileceğini öğrendiğim nesne yönelimli bir arka plandan geliyorum. Mesela bir hayvan sınıfına sahip olabilirim ve sonra bu kedi ve köpeklerden miras alabilir ve hepsi aynı özelliklerin …

6
Bilimsel yazılım için sürekli entegrasyon
Ben yazılım mühendisi değilim. Ben jeoloji alanında doktora öğrencisiyim. Neredeyse iki yıl önce bilimsel bir yazılım programlamaya başladım. Asla sürekli entegrasyon (CI) kullanmadım, çünkü ilk başta onun var olduğunu bilmiyordum ve bu yazılım üzerinde çalışan tek kişi bendim. Artık yazılımın temeli çalıştığından başka insanlar onunla ilgilenmeye başlıyor ve yazılıma katkı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.