«object-oriented» etiketlenmiş sorular

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

4
OOP olmayan paradigmalar kapsülleme gibi kavramları destekliyor mu?
Nesneye Yönelik Programlamadaki önemli kavramlardan biri Kapsülleme'dir. Ancak, son zamanlarda yazılım dünyası fonksiyonel programlama gibi diğer paradigmalar lehine hareket ediyor gibi görünüyor. Beni enkapsülasyon ve diğer OOP ilkeleri hakkında düşündürüyor? Yanlış mı? OOP yanlış uygulanmış mı? Örneğin Alan Kay, OOPSLA'97 Açılış Konuşmasında şunları söyledi: "Nesne yönelimli terimini icat ettim ve …

4
OO dilinde mantıksal olarak prosedür yazılımı yazmanın en temiz yolu
Ben bir elektrik mühendisiyim ve ne yaptığımı bilmiyorum. Lütfen gelecekteki kodlarımı sakla. Son zamanlarda işlevselliği mantıksal olarak "yordamsal" olan bir dizi küçük program (C #) üzerinde çalışıyorum. Örneğin, bunlardan biri, farklı veritabanlarından bilgi toplayan, bu bilgileri bir tür özet sayfası oluşturmak, onu yazdırmak ve sonra çıkmak için kullanan bir programdır. …


7
Nesneye yönelik dillerde, nesneler ne zaman kendi başlarına işlem yapmalı ve nesneler üzerinde ne zaman işlem yapılmalıdır?
PageSayfa oluşturucuya yönelik bir dizi talimatı temsil eden bir sınıf olduğunu varsayalım . Ve Rendererbir sayfanın ekranda nasıl oluşturulacağını bilen bir sınıf olduğunu varsayalım . Kodu iki farklı şekilde yapılandırmak mümkündür: /* * 1) Page Uses Renderer internally, * or receives it explicitly */ $page->renderMe(); $page->renderMe($renderer); /* * 2) Page …

2
Tüm önemli OOP özelliklerini kaybetmeden OOP'deki değişmezliği gerçekten kullanabilir miyiz?
Programımdaki nesneleri değişmez hale getirmenin yararlarını görüyorum. Uygulamam için iyi bir tasarım gerçekten derinden düşündüğümde, çoğu zaman doğal olarak nesnelerimin çoğunun değişmez olduğuna ulaşıyorum. Genellikle tüm nesnelerimin değişmez olmasını istediğim noktaya gelir . Bu soru aynı fikirle ilgilidir, ancak hiçbir cevap değişmezliğe iyi bir yaklaşımın ne olduğunu ve ne zaman …

6
OO olmayanlarda bu nasıl programlanır? [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ı . Başka bir paradigma lehine OOP'nin aşağı tarafındaki korkunç bir makaleyi okurken çok fazla hata bulamadığım bir örneğe …

5
Alt sınıf türü sormaktan kaçınmak için iyi bir tasarım uygulaması nedir?
Programınız bir nesnenin hangi sınıf olduğunu bilmek gerektiğinde, genellikle bir tasarım kusurunu gösterir, bu yüzden bunu idare etmek için iyi bir uygulama olduğunu bilmek istiyorum. Circle, Polygon veya Rectangle gibi miras alınan farklı alt sınıflara sahip bir Shape Shape uyguluyorum ve bir Circle'ın Polygon veya Rectangle ile çarpışıp çarpışmadığını bilmek …

7
Nesne durumunun OO dilinde uygulanması?
Temel bir durum makinesinin uygulanmasını içeren bir araba yarışını simüle eden bazı Java kodları aldım. Bu klasik bir bilgisayar bilimi devlet makinesi değil, sadece birden fazla duruma sahip olabilen ve bir dizi hesaplamaya dayanarak durumları arasında geçiş yapabilen bir nesnedir. Sadece sorunu tanımlamak için, Araba durumu için bazı sabitleri tanımlayan …

3
Bir “Çalışan” sınıfı nasıl tasarlanmalıdır?
Çalışanları yönetmek için bir program oluşturmaya çalışıyorum. Ancak Employeesınıfı nasıl tasarlayacağımı anlayamıyorum. Amacım, bir Employeenesne kullanarak veritabanındaki çalışan verilerini oluşturmak ve işlemek . Düşündüğüm temel uygulama bu kadar basitti: class Employee { // Employee data (let's say, dozens of properties). Employee() {} Create() {} Update() {} Delete() {} } Bu …

5
Kullanıcı arayüzündeki ilerlemeyi bildirmek için en iyi strateji - geri arama nasıl gerçekleşmelidir?
Bazen kullanıcı yürütülmesi biraz zaman alan genişletilmiş bir teknik işlem başlatır. Bu durumlarda, şu anda hangi görevin yürütüldüğüne ilişkin bilgilerle birlikte, bir tür ilerleme çubuğu görüntülemek genellikle iyidir. Kullanıcı arayüzünün ve mantık katmanlarının birbirine bağlanmasını önlemek için iletişimin bir tür proxy üzerinden gerçekleşmesi genellikle en iyisidir. Yani, arka uç kendi …

2
Yalnızca bir örneği olan Python sınıfları: Ne zaman (tek) sınıf örneği oluşturulur ve bunun yerine sınıfla ne zaman çalışır?
Yalnızca bir kez başlatılacak olan bir Python sınıfı verildiğinde, yani sınıfın yalnızca bir nesnesi olacaktır. Hangi durumlarda doğrudan sınıfla çalışmak yerine tek bir sınıf örneği oluşturmanın mantıklı olduğunu merak ediyordum. Benzer bir soru var , ama farklı bir odağı var: küresel değişkenleri ve fonksiyonları bir sınıfa ayırmak ve Python'a özgü …

2
İyi uygulamalarda KURU prensibi?
Programlamamda olabildiğince DRY ilkesini izlemeye çalışıyorum. Son zamanlarda OOP'ta tasarım kalıpları öğreniyorum ve kendimi bir sürü tekrarladım. Kalıcılığımı işlemek için bir Fabrika ve Ağ Geçidi desenleri ile birlikte bir Depo deseni oluşturdum. Uygulamamda bir veritabanı kullanıyorum, ancak Gateway'i değiştirebilmem ve istersem kalıcılığın başka bir türüne geçebilmem gerektiğinden bu önemli değil. …

5
Bu senaryoda kompozisyon veya miras tercih etmeli miyim?
Bir arayüz düşünün: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Bu arayüz, farklı şekillerdeki dalgaları (örneğin SineWaveGeneratorve SquareWaveGenerator) üreten birkaç sınıf tarafından uygulanır . SoundWaveHam ses verilerine değil, müzik verilerine dayanan bir sınıf uygulamak istiyorum . Bir notun adını ve vuruş sayısı (saniye değil) cinsinden bir uzunluğunu alır …

4
“OOP devleti gizler” ile kastedilen nedir? [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 . 5 yıl önce kapalı . Gelen cat-v.org birçok anti-cepten rants biri Joe Armstrong tarafından bir geçit bunlardan biri şu oldu, nesne yönelimli …

5
Bir iç veri yapısını her zaman tamamen kapsüllemeli miyim?
Lütfen bu sınıfı düşünün: class ClassA{ private Thing[] things; // stores data // stuff omitted public Thing[] getThings(){ return things; } } Bu sınıf, verileri depolamak için kullandığı diziyi ilgili tüm istemci kodlarına maruz bırakır. Bunu üzerinde çalıştığım bir uygulamada yaptım. Ben s ChordProgressionbir dizi saklayan bir sınıf vardı Chord(ve …

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.