<?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>Tom Dalling &#187; Software Design</title>
	<atom:link href="http://www.tomdalling.com/blog/category/software-design/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tomdalling.com/blog</link>
	<description>Thoughts of a software developer</description>
	<lastBuildDate>Fri, 16 Dec 2011 04:41:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>SOLID Class Design: The Interface Segregation Principle</title>
		<link>http://www.tomdalling.com/blog/software-design/solid-class-design-the-interface-segregation-principle</link>
		<comments>http://www.tomdalling.com/blog/software-design/solid-class-design-the-interface-segregation-principle#comments</comments>
		<pubDate>Thu, 18 Feb 2010 13:17:15 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Software Design]]></category>

		<guid isPermaLink="false">http://www.tomdalling.com/?p=352</guid>
		<description><![CDATA[This is that last part of a five part series about SOLID class design principles by Robert C. Martin. The SOLID principles focus on achieving code that is maintainable, robust, and reusable. In this post, I will discuss the Interface Segregation Principle. The Interface Segregation Principle (ISP): Clients should not be forced to depend upon [...]]]></description>
		<wfw:commentRss>http://www.tomdalling.com/blog/software-design/solid-class-design-the-interface-segregation-principle/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SOLID Class Design: The Dependency Inversion Principle</title>
		<link>http://www.tomdalling.com/blog/software-design/solid-class-design-the-dependency-inversion-principle</link>
		<comments>http://www.tomdalling.com/blog/software-design/solid-class-design-the-dependency-inversion-principle#comments</comments>
		<pubDate>Sat, 19 Dec 2009 07:40:54 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Software Design]]></category>

		<guid isPermaLink="false">http://www.tomdalling.com/?p=307</guid>
		<description><![CDATA[This is part four of a five part series about SOLID class design principles by Robert C. Martin. The SOLID principles focus on achieving code that is maintainable, robust, and reusable. In this post, I will discuss the Dependency Inversion Principle. The Dependency Inversion Principle (DIP): High level modules should not depend upon low level [...]]]></description>
		<wfw:commentRss>http://www.tomdalling.com/blog/software-design/solid-class-design-the-dependency-inversion-principle/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SOLID Class Design: The Liskov Substitution Principle</title>
		<link>http://www.tomdalling.com/blog/software-design/solid-class-design-the-liskov-substitution-principle</link>
		<comments>http://www.tomdalling.com/blog/software-design/solid-class-design-the-liskov-substitution-principle#comments</comments>
		<pubDate>Sat, 21 Nov 2009 06:49:27 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Software Design]]></category>

		<guid isPermaLink="false">http://www.tomdalling.com/?p=267</guid>
		<description><![CDATA[This is part three of a five part series about SOLID class design principles by Robert C. Martin. The SOLID principles focus on achieving code that is maintainable, robust, and reusable. In this post, I will discuss the Liskov Substitution Principle. The Liskov Substitution Principle (LSP): functions that use pointers to base classes must be [...]]]></description>
		<wfw:commentRss>http://www.tomdalling.com/blog/software-design/solid-class-design-the-liskov-substitution-principle/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SOLID Class Design: The Open Closed Principle</title>
		<link>http://www.tomdalling.com/blog/software-design/solid-class-design-the-open-closed-principle</link>
		<comments>http://www.tomdalling.com/blog/software-design/solid-class-design-the-open-closed-principle#comments</comments>
		<pubDate>Sat, 14 Nov 2009 09:22:03 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Software Design]]></category>

		<guid isPermaLink="false">http://www.tomdalling.com/?p=245</guid>
		<description><![CDATA[This is part two of a five part series about SOLID class design principles by Robert C. Martin. The SOLID principles focus on achieving code that is maintainable, robust, and reusable. In this post, I will discuss the Open Closed Principle. The Open Closed Principle (OCP): You should be able to extend a classes behavior, [...]]]></description>
		<wfw:commentRss>http://www.tomdalling.com/blog/software-design/solid-class-design-the-open-closed-principle/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SOLID Class Design: The Single Responsibility Principle</title>
		<link>http://www.tomdalling.com/blog/software-design/solid-class-design-the-single-responsibility-principle</link>
		<comments>http://www.tomdalling.com/blog/software-design/solid-class-design-the-single-responsibility-principle#comments</comments>
		<pubDate>Thu, 12 Nov 2009 07:37:12 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Software Design]]></category>

		<guid isPermaLink="false">http://www.tomdalling.com/?p=232</guid>
		<description><![CDATA[This is part one of a five part series about SOLID class design principles by Robert C. Martin. The SOLID principles focus on achieving code that is maintainable, robust, and reusable. In this post, I will discuss the Single Responsibility Principle. The Single Responsibility Principle (SRP): A class should have one, and only one, reason [...]]]></description>
		<wfw:commentRss>http://www.tomdalling.com/blog/software-design/solid-class-design-the-single-responsibility-principle/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Model View Controller Mechanisms</title>
		<link>http://www.tomdalling.com/blog/software-design/model-view-controller-mechanisms</link>
		<comments>http://www.tomdalling.com/blog/software-design/model-view-controller-mechanisms#comments</comments>
		<pubDate>Sun, 07 Jun 2009 10:34:45 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Software Design]]></category>
		<category><![CDATA[DesignPatterns]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.tomdalling.com/?p=16</guid>
		<description><![CDATA[The previous article, Model View Controller Explained, explained what MVC is and why it&#8217;s such a good design pattern. The model view controller design pattern has a flow. Actions flow from the view to the model via certain pathways. Conversely, changes to the model flow through to the view. This article will dive into finer [...]]]></description>
		<wfw:commentRss>http://www.tomdalling.com/blog/software-design/model-view-controller-mechanisms/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Model View Controller Explained</title>
		<link>http://www.tomdalling.com/blog/software-design/model-view-controller-explained</link>
		<comments>http://www.tomdalling.com/blog/software-design/model-view-controller-explained#comments</comments>
		<pubDate>Sun, 31 May 2009 09:49:01 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Software Design]]></category>
		<category><![CDATA[DesignPatterns]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.tomdalling.com/?p=3</guid>
		<description><![CDATA[Model view controller (MVC) is a very useful and popular design pattern. If you&#8217;re writing software, you should know it. Unfortunately it&#8217;s also one of the hardest to truly understand. In this article I will provide what I think is the simplest explanation of MVC, and why you should use it. What is Model View [...]]]></description>
		<wfw:commentRss>http://www.tomdalling.com/blog/software-design/model-view-controller-explained/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

