ASP.Net MVC'den ASP.Net Web Formlarına geri dönme. Kalıpları / mimarileri mi tavsiye ediyorsunuz?


12

Birçoğunuza bu saçma bir soru gibi gelecektir, ama ben soruyorum çünkü ASP.Net Webforms ile çok az deneyimim yok - doğrudan ASP.Net MVC'ye gittim.

Şimdi .Net 2.0 ve Visual Studio 2005 ile sınırlı olduğumuz bir proje üzerinde çalışıyorum.

ASP.Net MVC ile çalışırken endişelerin temiz ayrılmasını sevdim ve web formlarını daha az dayanılmaz hale getirmek için bir şey arıyorum. Asp.net MVC'yi tercih eden, ancak .net 2.0 ve visual studio 2005'te kalan kişiler için önerilen kalıplar veya uygulamalar var mı?


Tüm öneriler için teşekkürler millet - Birden fazla cevap seçebilseydim.
jlnorsworthy

1
Umarım yeni göreviniz sıfırdan başlayarak bir şey yerine sadece mevcut bir proje içindir. Koleksiyonlarda basit sorgular için Linq kullanmak gibi, eksik olacağınız birçok temel şey vardır. Oluşturulan HTML'ye bakmak ve bunun beklediğiniz gibi bir şey olmadığını görmekten büyük bir hayal kırıklığı olacaktır. İyi şanslar ve umarım başarılı olursunuz.
Chris

Yanıtlar:


7

Model View Presenter'ı (MVP) tavsiye ederim. Bunu yeni bir WebForms uygulamasında kullandık ve test edilebilirliğimizi artırdı ve endişelerin ayrılmasını sağlamamıza izin verdi.

http://msdn.microsoft.com/tr-tr/magazine/cc188690.aspx , Jean Paul Boodhoo'nun bu model hakkında harika bir makalesi; kod indirme de iyidir. Yine de DTO'lar için DTO'lara ve arayüzlere ihtiyacınız olmadığını görebilirsiniz.

Başka bir iyi makale codeproject.com'da budur: http://www.codeproject.com/KB/architecture/ModelViewPresenter.aspx

Düzenleme: Ayrıca WebForms MVP adlı bir çerçeve var ama bu konuda fazla bir şey bilmiyorum.


Webvorms MVP gerçekten harika görünüyor, ancak proje durmuş gibi görünüyor (son sürüm 07/10). Çok fazla belge veya öğretici mevcut değil
jlnorsworthy

Ayrıca .NET 3.5 SP1 gerektiriyor gibi görünüyor, bu yüzden sizin için çok yararlı olmayabilir. Ancak, örnekler ve kaynak MVP modelini değerlendirmenize yardımcı olabilir.
Ciaran

İyi bir nokta, bunu fark etmedim bile. Mevcut teknolojiye sahip bir şirket ile
web formları

4

.Net 2.0'ın sayfa yaşam döngüsünü anlamanız için tavsiye ederim

Hepsi ücretsiz olmasa da bu videolar izlemeye değer olabilir, ancak en azından bu sizin için iyi bir başlangıç ​​olacaktır ...


3

Şimdiye kadar keşfetmiş olabileceğiniz gibi, ASP.NET MVC (btw - ASP.NET MVC'yi öğrenmek için uğraştığında da aynı şeyleri öğrendiğiniz) birkaç şeyi öğrenmeniz gerekir. Yine de MVC desenini ASP.NET'te uygulayabilirsiniz, ancak Görünüm / Model ayrımı olay / sayfa geri gönderme mimarisi nedeniyle ASP.NET'te çok bulanıktır.

Kanımca, yeni öğrenmenizin çoğu Sayfa Yaşam Döngüsü ve Etkinlik ve Kontroller ile ilgili olacaktır. Oturum, Önbellek, ViewState ve DB etkileşimleri olağan şeyler aynı kalır.

HTH ...


2

Checkout Ön Denetleyici modeli ve Asp.Net'te Ön Denetleyici Uygulanması . Bunları sadece projeniz iyi boyutta olacaksa yapın. Bunu küçük bir proje için yapmak YG'yi haklı çıkarmayacaktır.

Küçük bir projede bazı yönergeler belirlemeye çalışabilirsiniz. Örneğin - İş mantığı yok, oturumda kod kullanımı yok vb.

Sizin durumunuza en uygun olanı görün. Her durumda, mühendisliği yapmak için cazip tutun.


0

.NET 1.1 karanlık günlerinde (Herkes gibi sanırım) böyle bir uygulama için bir tür MVC sistemi oluşturdum.

Bir tür 'sahte' usta olmak için bir sayfa yapıldı. Menüler, komut dosyaları, stiller vb. Göstermek için bazı sıhhi tesisat vardı.

'Görünümler' bireysel kullanıcı kontrolleri idi.

Her görünüm hakkında bilgi içeren bir tablo vardı. Örneğin, 'Ürün' ~/Controls/Product.ascxbir yer tutucuya yüklenir . Tabloda ayrıca, model sınıfının tür adını içeren bir alan vardı (sanki). Her model iyi bilinen bir arayüz uyguladı. Bu sınıf kullanılarak Activator.CreateInstance()başlatıldı ve başlatılması çağrıldı ve daha sonra kontrolün kendisine geçti (kontrolün ters çevrilmesi?). Kontrol daha sonra veri setlerini almak için çeşitli yöntemler çağırdı. Arayüzün kendisi normal CRUD yöntemlerine (Okuma / Yazma / Liste / Silme) sahip olacak şekilde normalleştirildi. Bunun altında DAL / ORM katmanı da vardı.

Güzel değildi, ama iyi çalıştı. Test etmek ve geliştirmek kolaydı ve gemiye gelen çoğu geliştirici oldukça hızlı bir şekilde yakalanacaktı. En önemlisi, yaratmak nispeten basitti.

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.