«object-oriented» etiketlenmiş sorular

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


2
Serileştirme ve serileştirme serileştirilecek sınıfın sorumluluğu olmalı mı?
Şu anda bir C # .NET uygulamasının birkaç model sınıfının (yeniden) tasarım aşamasındayım. (MVC M'de olduğu gibi model). Model sınıfları zaten çok iyi tasarlanmış verilere, davranışlara ve ilişkilere sahiptir. Modeli Python'dan C # 'a yeniden yazıyorum. Eski Python modelinde sanırım bir siğil görüyorum. Her model kendini nasıl serileştireceğini bilir ve …

5
Bir arabirimin (OOP) anlamsal sözleşmesi bir işlev imzasından (FP) daha bilgilendirici midir?
Bazıları tarafından, eğer SOLID ilkelerini aşırı uçlarına götürürseniz, fonksiyonel programlamaya son verdiğiniz söylenir . Bu makaleye katılıyorum, ancak arayüz / nesneden işlev / kapanışa geçişte bazı anlambilimin kaybolduğunu düşünüyorum ve İşlevsel Programlamanın kaybı nasıl azaltabileceğini bilmek istiyorum. Makaleden: Ayrıca, Arabirim Ayrışma İlkesini (ISS) titizlikle uygularsanız, Başlık Arabirimleri yerine Rol Arabirimleri'ni …

2
Neden kalıtım, kapsülleme ve polimorfizm OOP direkleri değil? [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ı . Bir gün Stack Overflow sohbetine gittim ve bir miras gördüm, bu da miras, enkapsülasyon ve polimorfizmin OOP'un …

8
Fonksiyonel Programlama için Zihinsel Modeller veya Gerçek Dünya Metaforları
Gerçek dünyada bir şeye atıfta bulunan işlevsel programlama için iyi bir zihinsel model veya metafor var mı? Nesneye Yönelik programlama sezgisel olarak bana mantıklı geliyor. Özellikleri olan şeyler vardır ve bazen özellikleri (yöntemleri) üzerinde şeyler yapabilir veya hesaplamalar yapabilirler. (Örn: Araba, Şekil, Kedi). Ben hiçbir şekilde olmayacak fonksiyonel programlamaya katılıyorum …

3
OOP 'soyutlama' tanımı hakkında karışık
OOP'taki 'soyutlama' tanımını anlamaya çalışıyorum. Birkaç ana tanımla karşılaştım. Hepsi geçerli mi? Bunlardan biri yanlış mı? Kafam karıştı. (Tanımı kendi kelimelerimle yeniden yazdım). Tanım 1: Soyutlama, bir nesneyi gerçek dünyadan alıp programlama terimlerine dönüştürme kavramıdır. Bu tür bir oluşturma gibi Humansınıf ve vererek int health, int age, String namevb özellikleri …

9
Yapıcı veya ayarlayıcı yöntemi kullanılsın mı?
Ben bir Actionsınıf, böyle bir şey var bir UI kodu üzerinde çalışıyorum - public class MyAction extends Action { public MyAction() { setText("My Action Text"); setToolTip("My Action Tool tip"); setImage("Some Image"); } } Bu Action sınıfı oluşturulduğunda, Actionsınıfın özelleştirilemeyeceği varsayılmıştır (bir anlamda - metni, araç ipucu veya görüntüsü kodun hiçbir …

6
Nesnelerin nitelikleri, durumları ve davranışları olduğunu söyleyebilir miyiz?
Oracle'ın OOP kavramlarına girişini okuyordum ve şu açıklamaya rastladım: Gerçek dünyadaki nesneler iki özelliği paylaşır: Hepsinin durumu ve davranışı vardır. Köpeklerin durumu (adı, rengi, cinsi, aç) ve davranışı (havlama, getirme, kuyruk sallama) vardır. Yazılım nesneleri kavramsal olarak gerçek dünyadaki nesnelere benzer: onlar da devlet ve ilgili davranışlardan oluşur. Bu pasajla …

7
Büyük projeleri nasıl takip ediyorsunuz?
Birçok farklı dosyaya sahip bir projeyle uğraşırken, parçaların birbirleriyle nasıl etkileşime girdiğini her zaman izlemiyorum. Daha küçük bileşenleri tek başına anlamakta hiçbir zaman gerçekten sorun yaşamadım, ancak projenin karmaşıklığı arttıkça, kendimi neler olup bittiğine dair zihinsel bir anlayış inşa edemiyorum. Yöntem ve kaynak dosyalarının sayısı arttıkça bunu özellikle OOP projelerinde …

14
Kalıtımın yararını nasıl açıklayabilirim? [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 . 6 yıl önce kapalı . …

6
Yordamdan Nesneye Dayalı Kod'a Dönüştür
Büyük bir ASP.NET webforms uygulamasının mevcut kod tabanını temizlemeye nasıl başlayacağınıza ilişkin stratejileri öğrenmek amacıyla Eski Kod ve Temiz Kod ile Etkili Çalışma konusunu okuyorum . Bu sistem 2005'ten beri var ve o zamandan beri bir takım geliştirmeler yapıldı. Başlangıçta kod aşağıdaki gibi yapılandırılmıştır (ve yine de büyük ölçüde bu …

4
Bir veritabanı ile çalışırken OO ve Test edilebilir kalma
Bir veritabanıyla çalışmak, ancak birimlerin test edilebilirliğini sağlamak için bazı OOP stratejileri nelerdir? Bir Kullanıcı sınıfım olduğunu ve üretim ortamımın MySQL ile çalıştığını varsayalım. Burada PHP kullanarak gösterilen birkaç olası yaklaşımlar görüyorum: Arka uç veri kaynağını soyutlamak için load()ve arayüzlerine sahip bir $ data_source iletin save(). Test yaparken farklı bir …

6
Alıcılara izin vermede kesin bir sorun nedir?
Ben am aramıyorum semantik hakkında ama sadece makul kullanılan alıcılar sahip gerçek bir engel olan bir durum için bir görüş için. Belki de beni hiç bitmeyen bir sarmal içine atar, belki alternatif daha temizdir ve alıcıları otomatik olarak ele alır, vb. Somut bir şey. Tüm argümanları duydum, kötü olduklarını duydum …

4
API'lar ve fonksiyonel programlama
Clojure gibi işlevsel programlama dillerine (kuşkusuz sınırlı) maruz kalmamdan, verilerin kapsüllenmesinin daha az önemli bir rolü olduğu görülmektedir. Genellikle haritalar veya kümeler gibi çeşitli yerel türler, nesneleri temsil etmek için tercih edilen para birimidir. Ayrıca, bu veriler genellikle değişmezdir. Örneğin, işte bu konuyla ilgili bir röportajda Clojure şöhretinden Zengin Hickey'den …

4
OOP uygulamasında parametre yönetimi
C ++ orta ölçekli bir OOP uygulaması OOP ilkeleri uygulama yolu olarak yazıyorum. Projemde birkaç sınıf var ve bazılarının çalışma zamanı yapılandırma parametrelerine erişmesi gerekiyor. Bu parametreler, uygulamanın başlatılması sırasında çeşitli kaynaklardan okunur. Bazıları kullanıcıların ana dizinindeki bir yapılandırma dosyasından okunur, bazıları ise komut satırı bağımsız değişkenleridir (argv). Ben de …

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.