<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ASP.NET MVC Storefront Part 3: Pipes and Filters</title><link>http://www.asp.net</link><pubDate>Thu, 21 Jul 2011 11:17:43 GMT</pubDate><generator>umbraco</generator><description>Comments for ASP.NET MVC Storefront Part 3: Pipes and Filters</description><language>en</language><atom:link href="http://www.asp.net/rss/comments/27514" rel="self" type="application/rss+xml" /><item><title>Comment Posted by vasireddybharathreddy</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Sat, 06 Sep 2008 22:38:04 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000007727</guid><description><![CDATA[ <p>Video is too good but as it is new I felt it to be too fast. I think it does same for others too.</p>]]></description><enclosure length="0" type="image/png" url="http://i1.asp.net/avatar/vasireddybharathreddy.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by leather</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Thu, 18 Sep 2008 08:21:21 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000007728</guid><description><![CDATA[ <p>Hmm... Is this an intro to MVC or pipes and filters and TDD???</p> <p>Good video but it&#39;s slightly frustrating if you want to get into the details on the MVC... In future perhaps you could focus on one thing at a time?</p>]]></description><enclosure length="0" type="image/png" url="http://i3.asp.net/avatar/leather.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by james_world</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Mon, 27 Oct 2008 06:53:15 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000007729</guid><description><![CDATA[ <p>I think this is a great series - there are plenty of tutorials around tightly focussed on MVC (you don&#39;t have to leave this site to find them). I really appreciate the effort to give a complete view of the vision of MVC - of which testability is a notable part. I also appreciate the willingness to take comments constructively and feedback into the process. For those who think the pace is too fast - use the pause and rewind buttons! An excellent piece of work Rob, that I will be recommending to others.</p>]]></description><enclosure length="0" type="image/png" url="http://i2.asp.net/avatar/james_world.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by joechung</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Thu, 01 Jan 2009 19:46:28 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000007730</guid><description><![CDATA[ <p>This was a nice video demonstrating TDD, but there wasn&#39;t really much about ASP.NET MVC.</p>]]></description><enclosure length="0" type="image/png" url="http://i1.asp.net/avatar/joechung.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by Pikesville Paesano</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Sun, 04 Jan 2009 00:42:59 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000007731</guid><description><![CDATA[ <p>While I&#39;m a died in the wool stored proc author, I&#39;m intriqued by pipes &amp; filters, I do however have one thought: If you have a table with several foreign keys and you&#39;re likely to want to filter by all of them, wouldn&#39;t it make sense to have your service consolidate these filtering methods? Imagine an address class and an address filter with filters for city, County, state, etc. I used an enum and a switch statement to keep the clutter down on my Service: </p> <p> &#160; &#160; &#160; &#160;public IList&lt;Address&gt; GetAddressCollectionFilterWithKeyField(Address.FilterKey KeyField, &#160;int id)</p> <p> &#160; &#160; &#160; &#160;{</p> <p> &#160; &#160; &#160; &#160; &#160; &#160;switch (KeyField)</p> <p> &#160; &#160; &#160; &#160; &#160; &#160;{</p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;case Address.FilterKey.AddressType:</p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;return _repository.GetAddressCollection().WithAddressType(id).ToLi st();</p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;case Address.FilterKey.District:</p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;return _repository.GetAddressCollection().WithDistrict(id).ToList( );</p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;case Address.FilterKey.City:</p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;return _repository.GetAddressCollection().WithCity(id).ToList();</p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;case Address.FilterKey.County:</p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;return _repository.GetAddressCollection().WithCounty(id).ToList();</p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;case Address.FilterKey.State:</p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;return _repository.GetAddressCollection().WithState(id).ToList(); </p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;default:</p> <p> &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;return null;</p> <p> &#160; &#160; &#160; &#160; &#160; &#160;}</p> <p> &#160; &#160; &#160; &#160;}</p> <p>any thoughts to potential weaknesses to this approach?</p>]]></description><enclosure length="0" type="image/png" url="http://i3.asp.net/avatar/Pikesville%20Paesano.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by Pikesville Paesano</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Sun, 04 Jan 2009 00:50:54 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000007732</guid><description><![CDATA[ <p>Another thought, when it comes to testing, why not create fewer test methods, but add more assertions?</p> <p>For example: </p> <p>[TestMethod]</p> <p>public void catalogService_Repository_Can_Filter_ById()</p> <p>{</p> <p> &#160; &#160;Address &#160;address = catalogService.GetAddressById(2);</p> <p> &#160; &#160;Assert.IsNotNull(address);</p> <p> &#160; &#160;address = catalogService.GetAddressById(3);</p> <p> &#160; &#160;Assert.IsNotNull(address);</p> <p> &#160; &#160;address = catalogService.GetAddressById(-1);</p> <p> &#160; &#160;Assert.IsNull(address);</p> <p>}</p> <p>note that the final test is for null - this revealed that when .WithId(id).Single(); is null, it throws an exception, so I wrapped my GetAddressByID &#160;function with a try catch &amp; returned a null if it failed.</p> <p>Thoughts anyone?</p> <p>This is a wonderful series!</p>]]></description><enclosure length="0" type="image/png" url="http://i3.asp.net/avatar/Pikesville%20Paesano.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by cheburek</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Wed, 01 Apr 2009 09:23:51 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000007733</guid><description><![CDATA[ <p>Good video but to much attention for tests. I think that it is fine to talk about tests in one chapter but showing the same 3 videos is too boring. The final target is working application but not tests. Thus I don&#39;t understand why it is so important to show in video that we add some method that throws exception, write test, build application and run test to make sure that method is calling. Let&#39;s more concentrate on the architecture of application and how to do something but not show the test writing manual.</p>]]></description><enclosure length="0" type="image/png" url="http://i1.asp.net/avatar/cheburek.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by Rafal Skalski</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Wed, 15 Apr 2009 22:21:47 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000007734</guid><description><![CDATA[ <p>Good stuff, TDD is new black (at least for me :)</p><p></p><p>for those who may wonder like me why tests returns 10 products with category 11, new code below for GetProducts() method in TestCatalogRepository  </p><p></p><p>        public IQueryable&lt;Product&gt; GetProducts() {</p><p>            IList&lt;Product&gt; result = new List&lt;Product&gt;();</p><p>            //loop for each category</p><p>            int loopIndex = 0;</p><p></p><p>            for (int x = 10; x &lt;= 15; x++) {</p><p></p><p>                for (int y = 1; y &lt;= 5; y++) {</p><p>                    Product p = new Product();</p><p>                    p.Name = &quot;Product&quot; + loopIndex.ToString();</p><p>                    p.ID = x;</p><p>                    p.ListPrice = x * 5.68M;</p><p>                    p.SummaryDescription = &quot;Test&quot;;</p><p></p><p>                    p.CategoryID = x;</p><p>                    loopIndex++;</p><p>                    result.Add(p);</p><p>                }</p><p>            }</p><p></p><p>            return result.AsQueryable&lt;Product&gt;();</p><p>        }</p><p></p><p>taken from <a rel="nofollow" href="http://mvcsamples.codeplex.com/SourceControl/changeset/view/3019#80461" target="_blank">mvcsamples.codeplex.com/</a></p><p></p><p>I wish more people spent some time writing or making video tutorials about repository pattern.</p><p></p><p>cheers Rob </p>]]></description><enclosure length="0" type="image/png" url="http://i3.asp.net/avatar/Rafal%20Skalski.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by Al Brin</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Sun, 19 Apr 2009 19:56:21 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000007735</guid><description><![CDATA[ <p>Way too fast! I&#39;ve got to go study the pipes and filters pattern, but don&#39;t know when I&#39;ll have time. :(</p>]]></description><enclosure length="0" type="image/png" url="http://i2.asp.net/avatar/Al%20Brin.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by xelfix24</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Sat, 27 Jun 2009 16:59:18 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000007736</guid><description><![CDATA[ <p>Where can I download the source codes???</p>]]></description><enclosure length="0" type="image/png" url="http://i2.asp.net/avatar/xelfix24.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by jamesguo</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Wed, 28 Jul 2010 00:03:16 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000009649</guid><description><![CDATA[ <p>I like the filter pattern.</p>]]></description><enclosure length="0" type="image/png" url="http://i2.asp.net/avatar/jamesguo.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by alvinvi</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Tue, 03 Aug 2010 18:17:44 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-000000009734</guid><description><![CDATA[ <p>Hi, Rob Conery. First off, I like the series from the first part so far at this point. Thanks for these I would like to see these till the series&#39;s end.</p><p></p><p>I have questions though regarding the Pipelines designs pattern: </p><p></p><p>* Is this pattern compatible with the principle on moving data between layers as simple as possible?</p><p></p><p>* Is it possible to develop a gray area on how this will be resolved?</p><p></p><p>More power to you. These videos are very helpful and instructional.</p>]]></description><enclosure length="0" type="image/png" url="http://i2.asp.net/avatar/alvinvi.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by warrenlafrance</title><link>http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-3-pipes-and-filters</link><pubDate>Thu, 21 Jul 2011 11:17:43 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000013804</guid><description><![CDATA[ <p>Loved the demo and the concepts of filters.  I am still a bit confused on the signatures of the methods... </p><p>public static IQueryable&lt;Product&gt; WithID(this IQueryable&lt;Product&gt;qry, int Id) </p><p>Any suggested reading on this? </p>]]></description><enclosure length="0" type="image/png" url="http://i2.asp.net/avatar/warrenlafrance.jpg?forceidenticon=false&amp;dt=635046720000000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item></channel></rss>