Possible Duplicate:
Classes. Whats the point?
Ben öğreticiler ton okudum, onları kullandı, birçok sınıfları yazdı, ama hala bazı cepten noktaları anlamaya olamaz.
Yani, ben teorim var bence. Bu bir paradigma, düşünmek ve bir problemi çözmek için farklı bir yoldur. Ben bütün commom noktaları bilmek: kodu yeniden, kapsülleme, daha iyi hata işleme, kolay bakım, miras, sözleşme ile tasarım, daha iyi dokümantasyon, toplama, kompozisyon, bazı tasarım desenleri ...
O dedi, en gerçek anlaşma gidelim. Diyelim ki şu var diyelim:
- erişmek ve sorgulamak için bir veritabanı ve bir sınıf.
- Ben adlı bir tablo kişi ve başka bir tablo adında adresi
- Basit iş kuralı: Bir kişinin bir veya birden fazla adres (ev, iş, teslimat ...), birçok ilişki basit bir olabilir
- Ben commom işlemleri (CRUD) için bir üst seviye sınıfı var. Her tablo bu birinden bir uzantısı olan bir sınıfı vardır.
- Örneğin, getAddressByLocation veya getPersonsByAge: Tabii ki, her sınıf (kişi ve adresi) kendi yöntemleri vardır.
- Ayrıca bir düzine görünümleri ve bir çift formları vardır
Bütün bu harika ve emin yararlıdır ama ... Ben basit durumda düşünmeden edemiyorum: Bazı insanları listeleme. Evet çıktı tablosu her satır, bir sınıf örneği üzerine yapılır çünkü. Ben hafıza ve işlemci kullanılmadığı kaynakların nasıl kullanıldığını çok üzerinde düşünmeden edemiyorum.
50 kişi listeleme, 50 örneklerini, Ham gibi kaynakların tam oluşturarak işleme yüklenenler filtreleme, ne gereken basit bir döngü ile bir sorgu ve sadece çıkış sonuçlarını çalıştırmak için zaman kuralları ve böylece doğrulanıyor demektir.
Bu beni çok karıştırır. Zaten veritabanı ile exponentialy zamanı artar iş kuralları biraz daha karmaşık olan bazı uygulamalar gördüm ve sadece karıştırmayın.
Bence, sadece çıktıları ve raporları işlemek için yeni sınıflar veya düz komut dosyaları oluşturmak için durum nedir? Evet, ben aynı veritabanı varlık için birçok farklı sınıflar oluşturmak gerekir, yani bir kere bu, OOP anlamsız yararlanarak, çift çaba anlamına. Kodlama sert, bakım hiçbir serin döner döner.
Ben bir şey eksik? Ya da bu OOP yaklaşımın bir dezavantajı nedir?
Daha hızlı geliştirme ve bakım almak için bir, noktaya düz, ince, daha hızlı kod kurban gerekir?
EDIT
Beklendiği gibi, ben önce koymak bazı noktalar bazı çocuklar için yanıltıcı ...
Öncelikle, ben gerçekten büyük projeler (I Sprint / Nextel ABD ve DirecTV Kuzey Amerika için vendoring IBM'de çalıştı, bu yüzden bazı terabayt günlük işlenen görmek için alışkınım) görmüş değilim.
Ben veritabanından alınıyor 50 kişi, ben kesinlikle 50 kişi demek istemiyorum dedi, ben sadece birçok kayıtların fikir verdi istiyorum. Ben 50 kayıt biliyorum bugünün sunucularına başka bir şey değildir. 50000000 bulunmaktadır. Eğer uygunsa bu son numarayı düşünün.