<?xml version="1.0" encoding="UTF-8"?>
<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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gary Pretty's Blog &#187; wrox</title>
	<atom:link href="http://blog.garypretty.co.uk/index.php/tag/wrox/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.garypretty.co.uk</link>
	<description>.Net Development &#38; General Tech Related News</description>
	<lastBuildDate>Sat, 04 Feb 2012 00:32:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>BOOK REVIEW: Professional Refactoring in C# and ASP.NET (Wrox)</title>
		<link>http://blog.garypretty.co.uk/index.php/2009/08/07/book-review-professional-refactoring-in-c-and-asp-net-wrox/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2009/08/07/book-review-professional-refactoring-in-c-and-asp-net-wrox/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 10:37:11 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[wrox]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/index.php/2009/08/07/book-review-professional-refactoring-in-c-and-asp-net-wrox/</guid>
		<description><![CDATA[Title: Professional Refactoring in C# and ASP.Net Publisher: Wrox Author: Danijel Arsenovski Even the most experienced developers can sometimes be found sat staring at their monitor trying to decide which way to implement a solution. Asking a fellow developer for input will probably result in more avenues to consider as opposed to narrowing down the &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2009/08/07/book-review-professional-refactoring-in-c-and-asp-net-wrox/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.garypretty.co.uk/wp-content/refact.jpg"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px 20px 0px; border-top: 0px; border-right: 0px" src="http://blog.garypretty.co.uk/wp-content/refact_thumb.jpg" border="0" alt="refact" width="163" height="204" align="left" /></a></p>
<p><strong>Title:</strong> Professional Refactoring in C# and ASP.Net</p>
<p><strong>Publisher:</strong> Wrox</p>
<p><strong>Author:</strong> Danijel Arsenovski</p>
<p>Even the most experienced developers can sometimes be found sat staring at their monitor trying to decide which way to implement a solution. Asking a fellow developer for input will probably result in more avenues to consider as opposed to narrowing down the initial choice. But all things considered if the end result meets the user’s requirements does it really matter which design choice we make?</p>
<p>Well&#8230;&#8230;yes. The code will still need to be maintained and updated; this can be time consuming if the code is unstructured or messy. However with some refactoring techniques to follow it’s possible to make the right decisions during design and implementation and this book contains the techniques to help you make those decisions.</p>
<p><strong><br />
Why did I read this book?</strong></p>
<p>I’ve read a couple of books on the subject of refactoring, these where mainly concerned with the business logic layer side of applications so I was interested in what this book had to say about refactoring ASP.Net.</p>
<p><strong><br />
First Impressions</strong></p>
<p>The book starts with a good introduction of refactoring including its benefits and also spends some time “Debunking Common Misconceptions” (one or two I’ve firsthand experience of trying to dismiss) and “Smells”. This isn’t a scratch and sniff section but a way of identifying code that is a candidate for refactoring. Throughout the book Smells will be introduced along with ways to detect them, which refactoring technique to use to eliminate them and the rational for removing them.</p>
<p>The Introduction chapter includes an index of the Smells as well as Refactorings and Object-Orientated Design Principles so they can be quickly found and referenced. I found this to be really useful as I was working my way through the book. </p>
<p><strong><br />
What’s Covered</strong></p>
<p>In the words of the book;</p>
<blockquote><p>&#8220;This book covers the refactoring techniques that will enable you to become more efficient and productive. You will be able to use this information to respond to change and improve the design of existing code&#8221;.</p></blockquote>
<p>In my opinion this book does indeed go a long way to achieving the above statement.</p>
<p>The book covers the following areas;</p>
<ul>
<li>Assembling a refactoring toolkit</li>
<li>Techniques for performing unit testing </li>
<li>Tips on refactoring to patterns</li>
<li>Using refactoring to upgrade legacy C# and ASP.Net code</li>
<li>Using method extraction to eliminate duplicated code</li>
<li>Making code more simple and easier to understand</li>
<li>OO theory and design patterns</li>
<li>Methods for using LINQ and C# 3.0 enhancements</li>
</ul>
<p><strong><br />
What I Liked?</strong></p>
<p>I enjoyed the chapters on “LINQ and Other C# 3.0 Enhancements” and “Refactoring ASP.NET Applications” which I found very insightful and will be using some of these techniques in the future.</p>
<p>Most of this book is, obviously, based around Refactoring Techniques and these chapters are very well presented with good code examples. I like the way that the Smells and Refactorings are emphasised throughout the chapters as this reinforces the point being made as well as making the sections easier to locate when you want to reference them.</p>
<p>Although I have read about refactoring before I did enjoy reading through these chapters which reinforced what I had previously read and having the examples in C# was a real advantage as this is the language that I currently develop with.</p>
<p><strong><br />
What Could Be Better?</strong></p>
<p>I’m a big advocate of Test Driven Development (TDD) and I think that this methodology is key when refactoring. Always having a number of tests for the code that you are refactoring allows you the confidence to alter the code knowing that if your change was to impact an area you weren’t expecting this would be highlighted to you with a failed test. Although this is mentioned in this book I think that this should have been given more emphasis.</p>
<p><strong><br />
The Final Verdict</strong></p>
<p>All in all this was a good and worthwhile read and although I would not recommend relying on simply this book for all areas of knowledge of this subject (i.e. TDD), I would certainly recommend the book to my peers.</p>

<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/ASP.Net' rel='tag' target='_self'>ASP.Net</a>, <a class='technorati-link' href='http://technorati.com/tag/book+review' rel='tag' target='_self'>book review</a>, <a class='technorati-link' href='http://technorati.com/tag/C%23' rel='tag' target='_self'>C#</a>, <a class='technorati-link' href='http://technorati.com/tag/refactoring' rel='tag' target='_self'>refactoring</a>, <a class='technorati-link' href='http://technorati.com/tag/wrox' rel='tag' target='_self'>wrox</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2009/08/07/book-review-professional-refactoring-in-c-and-asp-net-wrox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BOOK REVIEW: ASP.Net MVC 1.0, Problem &#8211; Design &#8211; Solution (Wrox)</title>
		<link>http://blog.garypretty.co.uk/index.php/2009/06/29/book-review-asp-net-mvc-1-0-problem-design-solution-wrox/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2009/06/29/book-review-asp-net-mvc-1-0-problem-design-solution-wrox/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 15:03:19 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[wrox]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/index.php/2009/06/29/book-review-asp-net-mvc-1-0-problem-design-solution-wrox/</guid>
		<description><![CDATA[Title: ASP.NET MVC 1.0 Problem – Design – Solution Publisher: Wrox Authors: Nick Beradi, Al Katawazi, Marco Bellinaso It seems that recently every man and his dog have been talking about ASP.Net MVC and the many advantages it brings along with it.  I have to admit that, up until now, I have not really looked &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2009/06/29/book-review-asp-net-mvc-1-0-problem-design-solution-wrox/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://blog.garypretty.co.uk/wp-content/mvcbook.jpg"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 35px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="mvcbook" src="http://blog.garypretty.co.uk/wp-content/mvcbook_thumb.jpg" border="0" alt="mvcbook" width="244" height="244" align="left" /></a> Title:</strong> ASP.NET MVC 1.0 Problem – Design – Solution</p>
<p><strong>Publisher:</strong> Wrox</p>
<p><strong>Authors:</strong> Nick Beradi, Al Katawazi, Marco Bellinaso</p>
<p>It seems that recently every man and his dog have been talking about ASP.Net MVC and the many advantages it brings along with it.  I have to admit that, up until now, I have not really looked into it a great deal, except for watching a couple of sessions at last years MSDN Roadshow.  Anyway, I decided that it was about time I found out more about ASP.Net MVC and see if it really was worth all of the hype.</p>
<p><strong></strong></p>
<p>Why did I read THIS book?</p>
<p>The reason I chose this book was two fold – firstly, it claimed to give you a good grounding in using ASP.Net MVC to those with experience of ASP.Net Web Development.  Secondly, in the books’ own words it provided “solid, workable solutions to real work problems” (I was dubious about this claim….many books I have read have claimed to do this and failed miserably with the first couple of chapters).</p>
<p><strong><br />
First Impressions</strong></p>
<p>Right from the very first chapter it starts off on the correct foot, giving an overview of the application you will create as you work through the book, that application being The Beer House, which is available for download as a starter kit.  The main attraction of this application to me was that it contained many of the features I often implement in my own applications, such as forums, article management and user profile / membership management.  The idea of reading a book that directly relates to my real-world programming was a big pull for me.</p>
<p>Thankfully, this book certainly does not try and force MVC down your throat as a must-use solution, instead giving an honest opinion that, yes MVC is very useful in many situations, but that in other situations, classic ASP.Net Web Forms may still be the more logical option.  This is a refreshing change from some of the other more self-righteous books I have had the des-pleasure of sampling where they simply see their subject matter and related methods as the only way to go.</p>
<p><strong><br />
What’s Covered?</strong></p>
<p>I don’t think I can put the content of the book in better words that the book itself, so here are those very words;</p>
<li>Techniques for building a flexible, easily configurable, and instrumented site</li>
<li>How to use jQuery to enhance and extend the capabilities of your ASP.NET MVC site</li>
<li>How to design a module to manage articles, news, and blog posts</li>
<li>Tips for creating and managing multiple polls on your site</li>
<li>Ways to build a robust newsletter system for e–mail newsletters on a background thread</li>
<li>How to develop a Web 2.0 community–centric forum from scratch</li>
<li>Steps for adding a working e–commerce store based on PayPal</li>
<li>All the different ways to deploy an ASP.NET MVC site</li>
<p>All of the above is covered in ample detail and I really did find this book extremely useful when relating the MVC implementation with my tradition Web Forms methods.</p>
<p>I especially liked the fact that attention was paid to the design of the application you create.  Coming from a web design background I am often astounded by the lack of attention paid to this area and it was pleasing to see a chapter dedicated to this for the non-design minded developer.</p>
<p>The other thing I loved about this book was that as well as ensuring every detail was covered off when developing each solution for the Beer House application, the authors have made a clear effort to highlight when something more may be needed in different circumstances and provided sample code and examples where needed.</p>
<p><strong><br />
Source Code Problems</strong></p>
<p>Probably the only bad thing I have to say about this book were the problems I had when attempting to get the source code to compile once I had downloaded it from the Wrox web site.  I think the main problem was that the code on the site was possibly an old version with several other versions kicking around the internet.  I am unsure as to which was the correct up-to-date copy.</p>
<p>However, all that said, with some tinkering, I did manage to get it to compile and what a lovely application it is. <img src='http://blog.garypretty.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong><br />
The Final Verdict</strong></p>
<p>I found this book to be an extremely concise and focused journey through ASP.Net MVC and a perfect introduction to the subject and I would highly recommend it to anybody who is looking for a good grounding in the subject.</p>
<p>This was also my first read of a book from the <strong>Problem – Design – Solution </strong>series from Wrox, and if the other books in the series are in a similar style, then I look forward to reading more as the straight forward style with real-world connections suited me down to the ground.  </p>
<p>You can find this book <a href="http://www.amazon.co.uk/ASP-NET-MVC-1-0-Website-Programming/dp/0470410957" target="_blank">for sale on Amazon</a> or from <a href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470410957.html" target="_blank">the Wiley web site</a>.</p>

<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/ASP.Net' rel='tag' target='_self'>ASP.Net</a>, <a class='technorati-link' href='http://technorati.com/tag/ASP.NET+MVC' rel='tag' target='_self'>ASP.NET MVC</a>, <a class='technorati-link' href='http://technorati.com/tag/book+review' rel='tag' target='_self'>book review</a>, <a class='technorati-link' href='http://technorati.com/tag/C%23' rel='tag' target='_self'>C#</a>, <a class='technorati-link' href='http://technorati.com/tag/wrox' rel='tag' target='_self'>wrox</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2009/06/29/book-review-asp-net-mvc-1-0-problem-design-solution-wrox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

