«object-oriented» etiketlenmiş sorular

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


10
“Düz eski veriler” sınıflarını kullanmak için herhangi bir neden var mı?
Eski kodda bazen veri için paketleyiciden başka bir şey olmayan sınıfları görüyorum. gibi bir şey: class Bottle { int height; int diameter; Cap capType; getters/setters, maybe a constructor } Benim OO anlayışım, sınıfların veri yapıları ve bu veriler üzerinde çalışma yöntemleri olduğu yönündedir. Bu, bu tür nesneleri engelliyor görünmektedir. Bana …

7
Tam değişkenlik ve Nesneye Dayalı Programlama
Çoğu OOP dilinde, nesneler genellikle sınırlı bir istisnalar kümesiyle değiştirilebilir (örneğin python'daki tuples ve stringler gibi). Çoğu işlevsel dilde, veriler değişmez. Değişebilir ve değişmez nesnelerin her ikisi de kendi avantajlarının ve dezavantajlarının bir listesini verir. Her iki kavramla da evlenmeye çalışan diller var; örneğin (açıkça ilan ettiğiniz) scala ve değişken …

3
SOLID Prensiplerini Programlama
Zamanla SOLID'in iki bölümünü anlayabiliyordum - “S” ve “O”. “O” - Miras ve Strateji Örüntüsünün yardımıyla Açık Kapalı Prensibi öğrendim. “S” - ORM öğrenirken Tek Sorumluluk ilkesini öğrendim (sebat mantığı alan nesnelerinden uzaklaştırıldı). Benzer şekilde, diğer SOLID bölümlerini (“L”, “I” ve “D”) öğrenmek için en iyi bölgeler / görevler nelerdir? …

3
denetleyicinin servis yerine depo çağrısı mı kötü bir uygulama?
denetleyicinin servis yerine depo çağrısı mı kötü bir uygulama? daha fazla açıklamak için: İyi tasarım denetleyicilerinde servis ve servis kullanım havuzunu çağırdığımı anladım. ama bazen denetleyicide herhangi bir mantığa ihtiyacım yok / ihtiyacım yok ve sadece db'den alıp görüntülemek için geçmem gerekiyor. ve sadece depoyu arayarak yapabilirim - servisi aramaya …

9
“Yo-yo probleminden kaçın”, “ilkel takıntıya” izin vermek için geçerli bir neden midir?
İlkel saplantı ne zamana göre kod kokusu değil midir? , Bir String nesnesi yerine bir posta kodunu temsil etmek için bir ZipCode nesnesi oluşturmalıyım. Ancak deneyimlerime göre görmeyi tercih ederim public class Address{ public String zipCode; } onun yerine public class Address{ public ZipCode zipCode; } çünkü sonuncusunun benden programı …

8
Hiçbir şeyi temsil etmeyen sınıf - doğru mu?
Uygulamamı tasarlıyorum ve SOLID ve OOP'yi doğru bir şekilde anladığımdan emin değilim. Sınıflar 1 şeyi yapmalı ve iyi yapmalı ancak diğer taraftan birlikte çalıştığımız gerçek nesneleri temsil etmelidir. Benim durumumda veri setinde bir özellik çıkarımı yapıyorum ve ardından makine öğrenimi analizi yapıyorum. Üç sınıf oluşturabileceğimi farz ediyorum FeatureExtractor DataSet analizör …

8
Bir sınıfın asıl sorumluluğu nedir?
OOP'deki isimlere dayanan fiilleri kullanmanın yasal olup olmadığını merak ediyorum. Bu mükemmel makaleye rastladım , yine de yaptığı noktaya katılmıyorum. Sorunu biraz daha açıklamak için makale, örneğin bir FileWritersınıf olmaması gerektiğini , ancak yazmanın bir eylem olduğu için sınıfın bir yöntemi olması gerektiğini belirtir File. Bir Java programcısı, bir Java …

10
“Kullanım senaryosu”, “Kullanıcı Hikayesi” ve “Kullanım Senaryosu” arasındaki fark nedir?
"Kullanım Durumu", "Kullanıcı Hikayesi" ve "Kullanım Senaryosu" arasındaki ayrımın kesin, ancak basit ve anlaşılabilir bir tanımı var mı? epeyce bir açıklama var, ama şu anda, bir veya iki cümle arasındaki farklılıkları açıklayan birini göremiyorum ... (örneğin, http://c2.com/cgi-bin/wiki?UserStoryAndUseCaseComparison çok uzun ve tartışması zor, tartışma dolu)

6
Eğer fonksiyonum karmaşıksa ve çok fazla değişken varsa, bir sınıf oluşturmalı mıyım?
Nesne yönelimli programlama (OOP), örneğin, birinci sınıf işlevlere sahip olmayan Java'da Python'da olduğundan farklı olduğundan, bu soru biraz agnostiktir, ancak tamamen değildir . Başka bir deyişle, Java gibi bir dilde gereksiz sınıflar oluşturduğum için kendimi daha az suçlu hissediyorum, ancak Python gibi daha az dil bilen dillerde daha iyi bir …

5
Fonksiyonları parametre olarak diğer fonksiyonlara geçirmek, kötü uygulama?
AS3 uygulamamızın arka ucumuzla konuşma şeklini değiştirme sürecindeyiz ve eskisinin yerine geçmek için REST sistemini uygulama sürecindeyiz. Ne yazık ki, çalışmaya başlayan geliştirici şimdi uzun süreli hastalık izninde ve bana devredildi. Son bir haftadır çalışıyorum ve sistemi anlıyorum, ama beni endişelendiren bir şey var. İşlevlerin işlevlere geçmesi çok görünüyor. Örneğin, …

9
TDD yaparken Logging'e ihtiyacımız var mı?
Kırmızı, Yeşil ve Refaktör döngüsünü yaparken, testi geçmek için her zaman minimum kodu yazmalıyız. TDD hakkında bilgi edindiğim ve neredeyse tüm kitapların süreci tarif ettiği yöntem bu. Peki ya tomruklama? Dürüst olmak gerekirse, bir uygulamada günlüğe kaydetmeyi nadiren kullandım, ancak gerçekten karmaşık olan bir şey olmadıkça, uygun günlüğe kaydetmenin önemi …

9
Neden bir sınıfı soyut bir sınıf olarak ilan etmeliyim?
Sözdizimini biliyorum, soyut sınıfa uygulanan kuralları ve soyut bir sınıfın kullanımını bilmek istiyorum Soyut sınıf doğrudan başlatılamaz, başka bir sınıf tarafından genişletilebilir. Bunu yapmanın avantajı nedir? Arayüzden farkı nedir? Bir sınıfın birden fazla arayüz uygulayabildiğini ancak yalnızca bir soyut sınıfı genişletebileceğini biliyorum. Bu sadece bir arayüz ile soyut bir sınıf …

12
OOP'deki dokümanlar bir “alıcı” nın herhangi bir hesaplama yapıp yapmadığını belirlemekten kaçınmalıdır?
Okulumun CS programı, nesne yönelimli programlamanın herhangi bir sözünden kaçınır, bu yüzden ek olarak kendi başıma okudum - özellikle de Bertrand Meyer tarafından Nesneye Yönelik Yazılım Yapımı . Meyer, sınıfların uygulamaları hakkında mümkün olduğunca fazla bilgi saklaması gerektiği ve bu da mantıklı olduğu anlamına geliyor. Özellikle, tekrar tekrar özniteliklerin (yani …

4
UML sınıf şeması notasyonları: İlişkilendirme, Toplama ve Kompozisyon arasındaki farklar
UML sınıf diyagramlarının bazı notasyonları hakkında kafam karıştı. Birliğin ne anlama geldiğini bildiğimden eminim . Bir sınıfın örneğinin, çalışmasını gerçekleştirmek için ikinci sınıfın bir örneği hakkında bilmesi gereken iki sınıfın örnekleri arasındaki herhangi bir ilişki - bir İlişki ilişkisidir. Bir Dernek, genellikle A sınıfının B sınıfı örneğine referansı (alanı) olduğu …

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.