Ben de çalışıyorum. Net'te açık kaynaklı projeler yapıyorum. Onunla ilgili en büyük sorunlarımdan biri .Net ile zorunlu değil, etrafındaki topluluk ve çerçevelerle. Her yerde sihirli isimlendirme şemaları ve dizgileri her şeyi yapmanın en iyi yolu olarak görülüyor. Kalın ifade, ama şuna bak:
ASP.Net MVC:
Merhaba dünya rotası:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Bunun anlamı, ASP.Net MVC'nin bir şekilde HomeController
kodunuza bakacağıdır . Her nasılsa bunun yeni bir örneğini oluşturup, işlevi Index
görünüşte bir id
tür parametreyle çağırın . Ve sonra gibi başka şeyler var:
RenderView("Categories", categories);
...or..
ViewData["Foobar"]="meh";
Ve sonra XAML ile de benzer şeyler var. DataContext
bir nesne olarak kabul edilir ve istediğiniz tipe çözülmesi için umut etmeli ve dua etmelisiniz. Bağımlılık Özellikleri, sihirli dizeler ve sihirli adlandırma kuralları kullanmalıdır. Ve bunun gibi şeyler:
MyData myDataObject = new MyData(DateTime.Now);
Binding myBinding = new Binding("MyDataProperty");
myBinding.Source = myDataObject;
Her ne kadar döküm ve çeşitli büyülü çalışma zamanı desteklerine dayanıyor olsa da.
Her neyse, hepsinin buraya gelmesini söylüyorum: .Net dünyasında neden bu kadar iyi tolere ediliyor? Neredeyse her zaman şeylerin ne olduğunu bilmek için statik olarak yazılmış dilleri kullanmıyor muyuz? Yansıma ve tür / yöntem / özellik / neden isimler (dizeler olarak) jenerikler ile delegeler ve hatta kod oluşturma ile karşılaştırıldığında bu kadar çok tercih edilir?
ASP.Net'in yönlendirme sözdiziminin, aslında bir rotanın nasıl işleneceğini çözmek için neredeyse yalnızca yansımaya dayanmasının neden olmadığına dair eksik olduğumu mi düşünüyorsunuz? Bir yöntemin veya özelliğin adını değiştirdiğimde ve aniden işler kırıldığından nefret ediyorum, ancak o yönteme veya özelliğe herhangi bir atıfta bulunmadığı görülüyor ve tabii ki derleyici hatası yok. Neden sihirli tellerin görünür rahatlığı "buna değer" olarak kabul edildi?
Bazı şeylere genellikle statik olarak yazılmış alternatifler olduğunu da biliyorum, ancak bunlar genellikle arka koltukta geçiyor ve hiçbir zaman öğretici veya başka başlangıç materyali olarak görünmüyor.
var
.