Advantages of the ASP.NET MVC Approach - The Second Advantage
(Page 4 of 4 )
(2) More Distinct Separations between the M-V-C
Rather than the traditional ASP.NET Web Forms under which the controller and view are within a page (the .aspx corresponds to the View and .aspx.cs to Controller), by introducing a new REST model, each page in ASP.NET MVC is split into two distinct components -- Controller and View -- that operate over the same Model of data. For a clearer understanding, Figure 2 shows the relationships of the Model, View, and Controller in the sample application provided with this article series.

Figure 2 -the relationships of the M-V-C in the sample application
Another important aim of ASP.NET MVC is to ease the TDD. Since in an MVC project, each component keeps a distinct relationship, this, of course, simplifies the TDD in some degree. In fact, the main causes easing TDD are not only limited to this. From the very beginning of designing the underground infrastructure of the MVC architecture, Microsoft employed excellent design patterns, which may be the most important cause to ease TDD—you can unit test each component individually: the View component, the URL Route, Linq to SQL, the Controller action, etc….
However, we have to admit that by keeping the code-behind class as thin as possible, and designing the business layer appropriately, a good developer could also achieve the separation of concerns by using the ASP.NET Web Forms model without adopting MVC and its overhead. By the way, to gain a deeper insight into practical and advanced design patterns using ASP.NET Web Forms, I highly recommend that you download Microsoft .NET Pet Shop 4.0 and study it thoroughly.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |