Bazen, bazen bazen bazen uzaktan XML JSON yerel yükleme verilerini içeren birkaç proje üzerinde çalışıyoruz. Benim sahip olduğum problem, geliştirme hızının ve çeşitli müşterilerin değişen zihinlerinin, tasarımlarımın çok katı olduğunu ve onların daha esnek olmalarını istediğimdir. Veri yükleme için tekrar kullanılabilir bir çözüm düşünmeye çalışıyorum ve birçoğunuzun aynı problemi yaşadığını hayal ettiğimden bazı tavsiyelerde bulunmak istiyorum. Ben yapmak istiyorum neTasarım desen/veri yükleme çözümü
respectivly parse() ve LoadData() yöntemleri var tip Ayrıştırıcı ve Yükleyici üyesi değişkenleri vardır jenerik LoadingOperation soyut sınıf yaratmaktır. sınıflandırılır Ayrıştırıcı ve Yükleyici i yüklenecek her şey için LoadingOperation genişleten yeni bir sınıf istiyorum arayüzleri ve bunlar böyle bir şey ile vb XmlParser ve JSONParser, LocalLoader ve RemoteLoader olabilir uygulamak sınıflardır hava, yerel bir XML dosyası veya uzak JSON, ya da her neyse. sorundur
spesifik Ayrıştırıcı uygulama LoadingOperation sınıfın polimorfik davranış bozmadan özel veri türlerini döndüremez olmasıdır. Ben jenerik ile karıştırmasını ve ilan alt sınıfları LoadingOperation ait
class SpecificLoader extends LoadingOperation<CustomDataType>
benzeri ve Ayrıştırıcı sınıfları ile benzer şeyler yapıyor, ama bu biraz garip görünüyor edilmiştir.
kimse yanlış yaptığını ne im/daha iyi performans gösteriyor olabilir üzerinde herhangi bir öneriniz var mı. Ben ... (tabii o kadar değişiyor should not gerçeğini! Görmezden) özelliklerde değişiklik hızlı bir şekilde tepki edebilmek ve kod vb mantıksal ayırımı olması herhangi bir yardım içinteşekkür istiyorum!
düzenleme: soru da O gerçekten talepleri çok çabuk değişiyor kadar usulca mümkün olduğunca az kod ile yazılan bir şey istiyorum bana geliyor buraya link text
Farklı kaynaklardan gelen aynı verileri ele alıyor musunuz? Yani Aynı iş modeli nesnelerini bu verilerle mi dolduruyorsunuz? Aksi halde, tüm yaklaşımın mantıklı olduğunu sanmıyorum ... – Jules
iyi düşünmek yerel veri/web servisleri ile uğraşmak için tekrarlanan bir model olabilir ve bunlar (kısa dev zamanlara ve prototiplere sahip küçük mobil uygulamalar) genellikle sadece yerel veri vb. Her proje için bazen değişebilir kaynaklardan gelen veriler aynıdır, ancak farklı projeler için kesinlikle farklı veri ve modellerdir! :) – Dori
Üzgünüz, bunun nasıl çalışması gerektiğini görmüyorum. Ayrıştırma, iş mantığınızı izleyen verileri işliyor ve görünüşe göre bu mantık ve veri değişiyor, bu nedenle belirli bir noktada belirli yöntemlere ihtiyacınız var. Bu belirli dönüşümü yapana kadar katman üzerinde katman oluşturma hiçbir işe yaramayacaktır. Bana mantıklı olan tek soyutlama katmanı, ayrıştırıcı özelliklerini değiştirirseniz, böylece sadece yüksek düzeyli bir myObject çağrısı alırsınız: loadData(); veya loadData (myObject);, böylece gerçek ayrıştırıcı uygulamasını hızlı bir şekilde değiştirebilirsiniz. – Jules