<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Satheesh Babu : ASP.net MVC</title><link>http://msmvps.com/blogs/satheeshbabu/archive/tags/ASP.net+MVC/default.aspx</link><description>Tags: ASP.net MVC</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Built in MVC framework for ASP.Net</title><link>http://msmvps.com/blogs/satheeshbabu/archive/2007/10/26/built-in-mvc-framework-in-asp-net.aspx</link><pubDate>Fri, 26 Oct 2007 18:32:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1265515</guid><dc:creator>satheeshbabu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/satheeshbabu/rsscomments.aspx?PostID=1265515</wfw:commentRss><comments>http://msmvps.com/blogs/satheeshbabu/archive/2007/10/26/built-in-mvc-framework-in-asp-net.aspx#comments</comments><description>&lt;p&gt;Microsoft is releasing a built-in version of MVC architecture framework in future.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;Some details about MVC framework from Scott,&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;MVC is a framework methodology that divides an&amp;nbsp;application&amp;#39;s implementation into three component roles: models, views, and controllers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;quot;Models&amp;quot; in a MVC based application are the&amp;nbsp;components of the application that are&amp;nbsp;responsible for maintaining state.&amp;nbsp; Often this state is persisted inside a database (for example: we might have a Product class that is used to represent order data from the Products table inside SQL).&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&amp;quot;Views&amp;quot; in a MVC based application are the components responsible for displaying&amp;nbsp;the&amp;nbsp;application&amp;#39;s user interface.&amp;nbsp; Typically this UI is&amp;nbsp;created off of the model data (for example: we might create an Product &amp;quot;Edit&amp;quot; view that surfaces textboxes, dropdowns and checkboxes based on the current state of a Product object).&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&amp;quot;Controllers&amp;quot; in a MVC based application&amp;nbsp;are the components responsible for handling end user interaction, manipulating the model, and ultimately choosing a view to render to display UI.&amp;nbsp; In a MVC application the view is only about displaying information - it is the controller that handles and responds to user input and interaction.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Some&amp;nbsp;highlight about MVC framework from Scott,&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It enables clean separation of concerns, testability, and TDD by default.&amp;nbsp; All core contracts within the MVC framework are interface based and easily mockable (it includes interface based IHttpRequest/IHttpResponse intrinsics).&amp;nbsp; You can unit test the application without having to run the Controllers within an ASP.NET process (making unit testing fast).&amp;nbsp; You can use any unit testing framework you want to-do this testing (including NUnit, MBUnit, MS Test, etc).&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;It is highly extensible and pluggable.&amp;nbsp; Everything in the MVC framework is designed so that it can be easily replaced/customized (for example: you can optionally plug-in your own view engine, routing policy, parameter serialization, etc).&amp;nbsp; It also supports using existing dependency injection and IOC container models (Windsor, Spring.Net, NHibernate, etc).&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;It includes a very powerful URL mapping component that enables you to build applications with clean URLs.&amp;nbsp; URLs do not need to have extensions within them, and are designed to easily support SEO and REST-friendly naming patterns.&amp;nbsp; For example, I could easily map the &lt;u&gt;/products/edit/4&lt;/u&gt; URL to the &amp;quot;Edit&amp;quot; action of the ProductsController class in my project above, or map the &lt;u&gt;/Blogs/scottgu/10-10-2007/SomeTopic/&lt;/u&gt; URL to a &amp;quot;DisplayPost&amp;quot; action of a BlogEngineController class.&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;The MVC framework supports using the existing ASP.NET .ASPX, .ASCX, and .Master markup files as &amp;quot;view templates&amp;quot; (meaning you can easily use existing ASP.NET features like nested master pages, &amp;lt;%= %&amp;gt; snippets, declarative server controls, templates, data-binding, localization, etc).&amp;nbsp; It does not, however, use the existing post-back model for interactions back to the server.&amp;nbsp; Instead, you&amp;#39;ll route all end-user interactions to a Controller class instead - which helps ensure clean separation of concerns and testability (it also means no viewstate or page lifecycle with MVC based views).&lt;/li&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;The ASP.NET MVC framework fully supports existing ASP.NET features like forms/windows authentication, URL authorization, membership/roles, output and data caching, session/profile state management, health monitoring, configuration system,&amp;nbsp;the provider architecture, etc.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Read the post here,&lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1265515" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/satheeshbabu/archive/tags/ASP.net+MVC/default.aspx">ASP.net MVC</category><category domain="http://msmvps.com/blogs/satheeshbabu/archive/tags/ASP.net/default.aspx">ASP.net</category></item></channel></rss>