«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
Kalıtım yanlış gitti
İyi bir miras modeli yokuş aşağı gitti bazı kod var ve neden ve nasıl düzeltmek için anlamaya çalışıyorum. Temel olarak, bir Zoo hiyerarşisine sahip olduğunuzu düşünün: class Animal class Parrot : Animal class Elephant : Animal class Cow : Animal vb. Sizin eat (), run (), vb yöntemleri var ve …

8
Nesneye Dayalı Sınıf Tasarımı
İyi nesne yönelimli sınıf tasarımını merak ediyordum. Özellikle, bu seçenekler arasında karar vermekte zorlanıyorum: statik vs örnek yöntemi parametresiz yöntem veya dönüş değeri vs parametreli yöntem ve dönüş değeri üst üste binen karşı belirgin bir yöntem işlevselliği özel ve genel yöntem Örnek 1: Bu uygulama, üst üste binme işlevi olmayan …

5
Anahtar Üzerinden Çoklu Metotların Avantajları
Bugün üst düzey bir geliştiriciden "Bu arada, bir switch deyimi ile işlevleri göndermeye itirazınız nedir?" Diye bir kod incelemesi aldım. Arama yöntemlerine geçiş yoluyla bir argümanı pompalamanın ne kadar genişletilebilir değil, kötü OOP olduğu hakkında birçok yerde okudum. Ancak, gerçekten onun için kesin bir cevap bulamıyorum. Bunu kendim için bir …

9
Nesneye Yönelik Tuzaklardan Kaçınmak, C'den Göç Etmek, Sizin İçin Ne İşe Yarar?
Prosedür dillerinde uzun süredir programlıyorum ve bir soruna ilk tepkim, var olan farklı varlıkları (nesneleri) ve ilişkilerini dikkate almaktan ziyade gerçekleştirmek için görevlere ayırmaya başlamak. OOP'da bir üniversite kursum var ve kapsülleme, veri soyutlama, polimorfizm, modülerlik ve kalıtımın temellerini anladım. Okudum /programming/2688910/learning-to-think-in-the-object-oriented-way ve /programming/1157847/learning-object-oriented-thinking , ve bu cevaplarda işaret edilen …

12
C ++ OOP için uygun değil mi? [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ı . …

4
Neden OOP için gerekli kavramların tutarlı bir tanımı yok?
Programlamaya çok yeniyim ve farklı kaynaklardan farklı sözleşmeleri duymaktan biraz kafam karıştı: Nesneye yönelik programlamanın 4 veya 5 konsepti var mı? Yeni gelen biri olarak, bunların 5 kavram olduğunu anlıyorum: Soyutlama miras kapsülleme Polimorfizm Modülarite Öyleyse neden daha "katı" bir tanım bulamıyorum ve bu kavramların çeşitli düzenlemeleri var gibi görünüyor?



3
Bağımlılık Ters Çevirme İlkesi vs “Bir uygulama değil, bir arayüze program”
Bağımlılık Ters Çevirme İlkesi'nin "programdan uygulamaya değil, uygulamadan" ilkesinden nasıl farklı olduğunu anlamaya çalışıyorum. "Bir uygulamaya değil, bir arabirime programla" nın ne anlama geldiğini anlıyorum. Daha esnek ve bakımı kolay tasarımlara nasıl izin verdiğini de anlıyorum. Fakat Bağımlılık Tersine Çevirme İlkesinin "Program değil, bir arabirime program" ilkesinden ne kadar farklı …

1
Ziyaretçi desenini büyük nesne hiyerarşisiyle kullanma
bağlam Nesnelerin bir hiyerarşisi (bir ifade ağacı) bir "sözde" ziyaretçi desen (sözde, çift gönderme kullanmaz gibi) ile kullanıyorum: public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass operationClass) { operationClass.DoSomething(); operationClass.DoSomethingElse(); // ... and so on ... } } Ancak, MyInterface'in uygulama …

3
Ana yöntem sadece nesne yaratımlarından ve yöntem çağrılarından oluşmalı mıdır?
Bir arkadaşım bana, en iyi uygulamanın sınıf içeren mainyöntemin adlandırılması Mainve yalnızca mainyöntem içermesi olduğunu söyledi . Ayrıca mainyöntem yalnızca girdileri ayrıştırmalı, diğer nesneleri oluşturmalı ve diğer yöntemleri çağırmalıdır. MainSınıf ve mainmetot başka bir şey yapmamalıyız. Temelde, sınıf içeren mainmetodun şöyle olması gerektiğini söyledi: public class Main { public static …


3
OOP'larda sınıf tasarımına nasıl yaklaşıyorsunuz?
Bir OO çözümü tasarlamaya çalıştığımda, genellikle sınıf adlarını (isimler), yaptıkları şeyi (fiiller) ve diğer sınıflarla nasıl işbirliği yaptıklarını listelediğim CRC modellemesini kullanıyorum . Bu blog , bu isim-fiil yaklaşımı hakkında söylenecek aşağıdaki şeylere sahiptir ...This approach, which I will call “noun and verb,” is so limited I’ll dare to call …

5
Açık-kapalı prensibinin avantajlarından yararlanıyor musunuz?
Açık-kapalı prensibi (OCP), bir nesnenin uzatma için açık, ancak değişiklik için kapalı olması gerektiğini belirtir. Anlıyorum ve SRP ile birlikte kullanarak sadece bir şey yapan sınıflar yaratmak için kullanıyorum. Ve, tüm davranış denetimlerini bazı alt sınıflarda genişletilebilen veya geçersiz kılınabilecek yöntemlere çıkarmayı mümkün kılan birçok küçük yöntem oluşturmaya çalışıyorum. Böylece, …

2
DDD'deki istisnalar
DDD öğreniyorum ve bazı durumlarda istisnalar atmayı düşünüyorum. Bir nesnenin kötü bir duruma giremediğini anlıyorum, burada istisnalar iyi, ancak birçok örnekte istisnalar da var, örneğin veritabanında mevcut e-postaya sahip yeni kullanıcı eklemeye çalışıyorsak. public function doIt(UserData $userData) { $user = $this->userRepository->byEmail($userData->email()); if ($user) { throw new UserAlreadyExistsException(); } $this->userRepository->add( new …

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.