I am actively developing desktop applications, local and network services, some classic ASP.NET, etc., so I use static compilation and static code analysis. Now, when I (finally) learn ASP.NET MVC 3.0 , I see that many of the ASP.NET MVC experts and experienced developers recommend using strongly typed views in ASP.NET MVC 3.0 (where applicable).
I assume that "strongly typed" means the @model=... entry at the top of the view code. But at the same time I get IntelliSense for work, static code verification is not performed. I can write everything I want in the @model instruction in cshtml and it will compile and run. Accordingly, Model.Anything also compiled. In fact, if I do not find @model, I can dynamically use any model that I need that has βcompatibleβ properties and methods.
I'm used to the "strongly typed" value of "will not compile", for example LINQ, to the fact that it simply will not compile if you do not get the properties correctly. Is there any other purpose for @model besides IntelliSense, and a runtime error, and why is it called strongly typed if it is, in fact, and not?
Strong typing, Meaning in computer literature
source share