<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: Another Refactoring Exercise: Design Patterns Recommended!-)</title>
    <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Another Refactoring Exercise: Design Patterns Recommended!-)</title>
      <description>&lt;p&gt;Well the previous exercise was fun so here&amp;#8217;s another one. The following code is taken from the same problem, an &lt;span class="caps"&gt;RPN&lt;/span&gt; calculator. Originally, the interface of the calculator was &amp;#8220;wide&amp;#8221;; there was a method for each operator. E.g., plus(), minus(), factorial(). In an effort to fix this, a new method, perform(String operatorName) was added and ultimately the interface was fixed gradually to remove those methods.&lt;/p&gt;


	&lt;p&gt;Changing he calculator &lt;span class="caps"&gt;API&lt;/span&gt; in this way is an example of applying the open/closed principle. However, the resulting code is just a touch ugly (I made it a little extra ugly just for the hack [sic] of it). This code as written does pass all of my unit tests.&lt;/p&gt;


Before the code, however, let me give you a little additional information:
	&lt;ul&gt;
	&lt;li&gt;I changed the calculator to use BigDecimal instead of int&lt;/li&gt;
		&lt;li&gt;Right now the calculator has three operators, +, &amp;#8211; !&lt;/li&gt;
		&lt;li&gt;Eventually, there will be many operators (50 ish)&lt;/li&gt;
		&lt;li&gt;Right now there are only binary and unary operators, however there will be other kinds: ternary, quaternary, and others such as sum the stack and replace just the sum on the stack or calculate the prime factors of the top of the stack so take one value but push many values&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;So have a look at the following code and then either suggest changes or provide something better. There&amp;#8217;s a lot that can be done to this code to make it clearer and make the system easier to extend.&lt;/p&gt;


&lt;h3&gt;The Perform Method&lt;/h3&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_Java "&gt;   public void perform(String operatorName) {
      BigDecimal op1 = stack.pop();

      if (&amp;quot;+&amp;quot;.equals(operatorName)) {
         BigDecimal op2 = stack.pop();
         stack.push(op1.add(op2));
         currentMode = Mode.inserting;
      } else if (&amp;quot;-&amp;quot;.equals(operatorName)) {
         BigDecimal op2 = stack.pop();
         stack.push(op2.subtract(op1));
         currentMode = Mode.inserting;
      } else if (&amp;quot;!&amp;quot;.equals(operatorName)) {
         op1 = op1.round(MathContext.UNLIMITED);
         BigDecimal result = BigDecimal.ONE;
         while (op1.compareTo(BigDecimal.ONE) &amp;gt; 0) {
            result = result.multiply(op1);
            op1 = op1.subtract(BigDecimal.ONE);
         }
         stack.push(result);
      } else {
         throw new MathOperatorNotFoundException();
      }
   }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;Unlike the last example, I&amp;#8217;ll provide the entire class. Feel free to make changes to this class as well. However, for now focus on the&lt;i&gt; &lt;b&gt;perform(...)&lt;/b&gt;&lt;/i&gt; method.&lt;/p&gt;


	&lt;p&gt;One note, Philip Schwarz recommended a change to what I proposed to avoid the command/query separation violation. I applied his recommendation before posting this updated version.&lt;/p&gt;


&lt;h3&gt;The Whole Class&lt;/h3&gt;
&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_Java "&gt;package com.scrippsnetworks.calculator;

import java.math.BigDecimal;
import java.math.MathContext;

public class RpnCalculator {
   private OperandStack stack = new OperandStack();
   private Mode currentMode = Mode.accumulating;

   enum Mode {
      accumulating, replacing, inserting
   };

   public RpnCalculator() {
   }

   public void take(BigDecimal value) {
      if (currentMode == Mode.accumulating)
         value = determineNewTop(stack.pop(), value);

      if (currentMode == Mode.replacing)
         stack.pop();

      stack.push(value);
      currentMode = Mode.accumulating;
   }

   private BigDecimal determineNewTop(BigDecimal currentTop, BigDecimal value) {
      BigDecimal newTopValue = currentTop;
      String digits = value.toString();
      while (digits.length() &amp;gt; 0) {
         newTopValue = newTopValue.multiply(BigDecimal.TEN);
         newTopValue = newTopValue.add(new BigDecimal(Integer.parseInt(digits
               .substring(0, 1))));
         digits = digits.substring(1);
      }

      return newTopValue;
   }

   public void enter() {
      stack.dup();
      currentMode = Mode.replacing;
   }

   public void perform(String operatorName) {
      BigDecimal op1 = stack.pop();

      if (&amp;quot;+&amp;quot;.equals(operatorName)) {
         BigDecimal op2 = stack.pop();
         stack.push(op1.add(op2));
         currentMode = Mode.inserting;
      } else if (&amp;quot;-&amp;quot;.equals(operatorName)) {
         BigDecimal op2 = stack.pop();
         stack.push(op2.subtract(op1));
         currentMode = Mode.inserting;
      } else if (&amp;quot;!&amp;quot;.equals(operatorName)) {
         op1 = op1.round(MathContext.UNLIMITED);

         BigDecimal result = BigDecimal.ONE;
         while (op1.compareTo(BigDecimal.ONE) &amp;gt; 0) {
            result = result.multiply(op1);
            op1 = op1.subtract(BigDecimal.ONE);
         }
         stack.push(result);
      } else {
         throw new MathOperatorNotFoundException();
      }
   }

   public BigDecimal getX() {
      return stack.x();
   }

   public BigDecimal getY() {
      return stack.y();
   }

   public BigDecimal getZ() {
      return stack.z();
   }

   public BigDecimal getT() {
      return stack.t();
   }
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
      <pubDate>Tue, 09 Jun 2009 20:57:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:9a050400-2d6e-4f85-a4a5-f4081b39f1e5</guid>
      <author>Brett Schuchert</author>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended</link>
      <category>Schuchert's Scattered Synapses </category>
      <category>refactoring</category>
      <category>exercise</category>
      <category>design</category>
      <category>patterns</category>
      <category>abstract</category>
      <category>factory</category>
      <category>strategy</category>
      <category>template</category>
      <category>method</category>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by  Polo Ralph Lauren Pas Cher</title>
      <description>&lt;p&gt;Hi, Brilliant, just I have learnt, what I needed to know. thank you for writing such an excellent article.Please keep it up.&lt;/p&gt;</description>
      <pubDate>Thu, 12 Jan 2012 21:11:53 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:529b5595-4699-49bd-b6bf-fefe2b7e65b2</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-197562</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by christian louboutin</title>
      <description>&lt;p&gt;The professional design make you foot more comfortable. Even more tantalizing,this pattern make your legs look as long as you can,it will make you looked more attractive.Moveover,it has reasonable price.If you are a popular woman,do not miss it.&lt;/p&gt;


	&lt;p&gt;Technical details of Christian Louboutin Velours Scrunch Suede Boots Coffee:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;Color: Coffee
Material: Suede
4(100mm) heel
Signature red sole x&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Fashion, delicate, luxurious Christian louboutins shoes on sale, one of its series is Christian Louboutin Tall Boots, is urbanism collocation. This Christian louboutins shoes design makes people new and refreshing. Red soles shoes is personality, your charm will be wonderful performance.&lt;/p&gt;</description>
      <pubDate>Thu, 03 Nov 2011 09:17:07 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:3722623e-3432-40d0-9fef-343d0d020c91</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-167616</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by full colour leaflet</title>
      <description>&lt;p&gt;der is nwe mid nyt im cant concentration .you hav to done grt job&lt;/p&gt;</description>
      <pubDate>Mon, 24 Oct 2011 15:41:42 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:4f627a8b-369b-45b7-8430-9743ef20aced</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-162717</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by website design</title>
      <description>&lt;p&gt;im codein this but i hav a problem &amp;#8230;..but i wont fixed error????&lt;/p&gt;</description>
      <pubDate>Mon, 24 Oct 2011 15:38:53 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:4b9efe94-1cba-424c-92fb-55300e0bc969</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-162714</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by Tips For Bowling</title>
      <description>&lt;p&gt;I was assigned to do a job by the attorney general, and that was to find out whether crimes were committed.&lt;/p&gt;</description>
      <pubDate>Tue, 18 Oct 2011 12:18:29 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:eeb470da-e922-42c9-8d39-3012edcb0bef</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-159089</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by car colour service</title>
      <description>&lt;p&gt;&lt;a href="http://www.colourflash.com" rel="nofollow"&gt;
some of days i searching in google&lt;/a&gt; some calculating method. it is great for me. thanks buddy&lt;/p&gt;</description>
      <pubDate>Sat, 08 Oct 2011 01:41:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:a5383d65-39ed-43d3-bf96-c64421bc942a</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-152586</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by canada goose coat</title>
      <description>&lt;p&gt;When it comes to feather dress, what appears in your mind? Which kind brand of down jacket do you like prefer? Though there are many down jackets for you to choose from, on the word, which one you really enjoy? I want to say that &lt;a href="http://www.shopcanadagoosejackets.com/cag012-p-12.html" rel="nofollow"&gt;canada goose coats&lt;/a&gt; is really your best choice. I believe you can&amp;#8217;t agree with me any more. When you take the quality into consideration, you will find that it is superior to any other kind of coat. Besides, &lt;a href="http://www.shopcanadagoosejackets.com/" rel="nofollow"&gt;discount canada goose jackets&lt;/a&gt; is a world well-known brand, which has gained high reputation in the world, which has accepted by our customers and some organization. Because of its high quality, some of our loyal customers have promoted it to the people around them. In their opinion, it is good to informing others to know it. Recently, &lt;a href="http://www.shopcanadagoosejackets.com/canada-goose-trillium-parka-c-5.html" rel="nofollow"&gt;Canada Goose Trillium Parka&lt;/a&gt; is on hot sale. What I have to inform you is that all the products there are made by hand, so they are elaborative and elegant enough. It is really beautiful once you dress in. So, if you are a lovely girl or woman, go to the store to buy one for you. You will appreciate it that you have such a coat.In addition, they also have any other products like &lt;a href="http://www.shopcanadagoosejackets.com/canada-goose-gloves-c-6.html" rel="nofollow"&gt;canada goose Gloves&lt;/a&gt; and &lt;a href="http://www.shopcanadagoosejackets.com/canada-goose-snow-mantra-parka-9501m-black-p-9.html" rel="nofollow"&gt;canada goose jacket supplier&lt;/a&gt;.Hope your will like its!&lt;/p&gt;</description>
      <pubDate>Thu, 15 Sep 2011 21:09:19 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:2ba198b4-2205-4ca0-8194-8815d79e85c0</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-140919</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by Diablo3</title>
      <description>&lt;p&gt;hmm ,i&amp;#8217;m not sure if this is what i&amp;#8217;m looking for but anyway this is interresting and could be useful some day,thanks for taking time to write such cool stuff&lt;/p&gt;</description>
      <pubDate>Wed, 14 Sep 2011 13:18:56 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:961dbcb1-10bc-45aa-83f2-0ba486ba1964</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-140187</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by bagsupplyer</title>
      <description>&lt;p&gt;&lt;a href="http://www.bagsupplyer.com/Juicy-n632/" rel="nofollow"&gt;Designer women Juicy backpacks free shipping for wholesale&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 07 Sep 2011 05:49:46 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:32c3f9d9-8bea-4664-b764-de12fc27ced7</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-138083</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by blackhawk tactical gear </title>
      <description>&lt;p&gt;This method looks very useful for many applications&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.chiefsupply.com/search/brand/BLACKHAWK" rel="nofollow"&gt;blackhawk tactical gear&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 09 Jun 2011 00:49:56 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:a808d469-8a39-428f-ae16-b15b3105ebdc</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-109297</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by mbt shoes sales</title>
      <description>&lt;p&gt;YES SERIOUSLY!!!!! SO MUCH SPARKLY TEXT!!!&lt;/p&gt;</description>
      <pubDate>Wed, 18 May 2011 23:21:25 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:755ea97c-216d-44bf-8930-3adab79ceebe</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-101539</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by mediation</title>
      <description>&lt;p&gt;Your way of thinking is one of a kind. i find this to be excellent. Great work.&lt;/p&gt;</description>
      <pubDate>Sat, 14 May 2011 22:19:51 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:2a4b6dba-2254-4821-b618-ea5ceaff3ae2</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-100057</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by Santa Monica Homes For Sale</title>
      <description>&lt;p&gt;This method looks very useful for many applications&lt;/p&gt;</description>
      <pubDate>Sat, 14 May 2011 11:39:44 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:3b72cb66-c42d-4f6e-856d-692d23e238f1</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-99841</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by divorce settlement agreement</title>
      <description>&lt;p&gt;Your way of thinking is one of a kind. i find this to be excellent. Great work.&lt;/p&gt;</description>
      <pubDate>Sat, 14 May 2011 11:38:12 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:39512f87-5386-40b5-bc18-9a629b331f92</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-99840</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by EDDM Retail</title>
      <description>&lt;p&gt;Hm great i like this and it is nice discussion here keep going on&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Thu, 12 May 2011 15:13:20 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:7865a40e-9227-482a-ad9b-e6aaf6840203</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-98869</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by For Sale In Hayward</title>
      <description>&lt;p&gt;Very serious calculation, such research is important to keep it  continue to develop.&lt;/p&gt;</description>
      <pubDate>Sun, 08 May 2011 13:24:11 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:d96e53ee-8cf7-4d0f-b653-6e50d48dcf16</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-96234</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by okey oyunu oyna </title>
      <description>&lt;p&gt;nice code.&lt;/p&gt;


	&lt;p&gt;internette g&#246;r&#252;nt&#252;l&#252; olarak &lt;a href="http://www.okeyoyunu-oyna.com" rel="nofollow"&gt;okey oyunu oyna&lt;/a&gt;, ger&#231;ek kisilerle tanis,
 turnuva heyecanini yasa.&lt;/p&gt;</description>
      <pubDate>Thu, 28 Apr 2011 14:41:10 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:bfa6a1ea-0626-44cd-bf6a-ea71d33c2205</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-92771</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by Willie Trevizo</title>
      <description>&lt;p&gt;Your way of thinking is one of a kind. i find this to be excellent. Great work. &lt;a href="http://www.kirkeyroofing.com/" rel="nofollow"&gt;roofing&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 14 Apr 2011 08:14:38 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:79bb3e79-a26d-4a0f-a32a-a627fc3bf191</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-84862</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by clothing manufacturer</title>
      <description>&lt;p&gt;the article is what I want! Thank you&lt;/p&gt;</description>
      <pubDate>Wed, 30 Mar 2011 04:19:22 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:876d486b-6257-4685-a656-a3fc5ed492a9</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-77399</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by centrifugal fan</title>
      <description>&lt;p&gt;Haile Electric Industrial Co. Ltd. is the leading manufacturer and exporter of cold room,axial fan,condensing unit,centrifugal fan,shaded pole motor and refrigeration products in China.&lt;/p&gt;</description>
      <pubDate>Mon, 28 Feb 2011 23:46:56 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:77c11fe5-c16a-48bf-8ed5-d360e1b0be25</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-67637</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by iPhone SMS to Mac Backup</title>
      <description>&lt;p&gt;Would you like to banckup iphone SMS to mac, macBook, macbookPro as .txt files? Now a software iphone SMS to Mac Backup can help you to realize it.&lt;/p&gt;</description>
      <pubDate>Mon, 28 Feb 2011 03:02:57 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:dec2b124-eeff-4c12-a5e8-5a11fcd06da4</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-67303</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by skirunride</title>
      <description>&lt;p&gt;Very serious calculation, such research is important to keep to continue to develop&lt;/p&gt;</description>
      <pubDate>Sat, 19 Feb 2011 07:36:45 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:88928ae1-016e-4294-8811-3a12724c8648</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-64446</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by Silicone Molding</title>
      <description>&lt;p&gt;&lt;a href="http://www.taiwanmoldmaker.com/service-mold-maker.html" rel="nofollow"&gt;Mold making&lt;/a&gt; is the core business of Intertech (Taiwan).  With world level technology,  
Intertech enjoys a very good reputation for making &lt;a href="http://www.taiwanmoldmaker.com/service-injection-mold.html" rel="nofollow"&gt;Injection Mold&lt;/a&gt; and 
&lt;a href="http://www.taiwanmoldmaker.com/service-plastic-mold.html" rel="nofollow"&gt;Plastic Molds&lt;/a&gt;for their worldwide customers.&lt;/p&gt;</description>
      <pubDate>Tue, 28 Dec 2010 21:47:19 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:e32f4ac6-bd06-4cbc-8ace-4d6daa27b90b</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-52724</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by http://www.whiteiphone4transformer.com</title>
      <description>&lt;p&gt;People love fashion will always love &lt;a href="http://www.whiteiphone4transformer.com" rel="nofollow"&gt;white iphone 4&lt;/a&gt;. Now you can get the advance chance to take the hottest iphone 4 conversion kit. Here we go!&lt;/p&gt;</description>
      <pubDate>Thu, 23 Dec 2010 20:43:23 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:28f91ef1-30da-4fb8-89c3-8281a255f24a</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-51547</link>
    </item>
    <item>
      <title>"Another Refactoring Exercise: Design Patterns Recommended!-)" by chanel store </title>
      <description>&lt;p&gt;Very pleased that the article is what I want! Thank you&lt;/p&gt;</description>
      <pubDate>Sun, 14 Nov 2010 05:07:09 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:c1288b6d-0627-4cb7-b686-d5260cc73b19</guid>
      <link>http://blog.objectmentor.com/articles/2009/06/09/another-refactoring-exercise-design-patterns-recommended#comment-40358</link>
    </item>
  </channel>
</rss>

