<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text">Latest Episodes from Tekpub</title>
  <generator uri="http://tekpub.com">Tekpub</generator>
  <id>http://tekpub.com/feed/rss</id>
  <link href="http://tekpub.com//feed/rss" rel="self"/>
  <link href="http://tekpub.com/" rel="alternate"/>
  <updated>2012-05-16 21:45:53 UTC</updated>
  <subtitle type="text">Latest Episodes from Tekpub</subtitle>
  <entry>
    <title>9 - Builder Pattern</title>
    <link href="http://tekpub.com/view/cspatterns/9" type="text/html" rel="alternate"/>
    <id>9 - Builder Pattern</id>
    <author>
      <name>Jon Skeet, Rob Conery</name>
    </author>
    <content type="html">&lt;p&gt;&lt;img alt="Cspatterns_slide" src="/images/cspatterns_slide.png?1335812889" width="380" /&gt;&lt;/p&gt;&lt;p&gt;In this episode Jon explores what happens when constructors and factories start getting a bit too complex and you need to formalize options for creating an instance of your exciting business object.&lt;/p&gt;</content>
    <published>2012-05-16</published>
  </entry>
  <entry>
    <title>8 - Factory Pattern</title>
    <link href="http://tekpub.com/view/cspatterns/8" type="text/html" rel="alternate"/>
    <id>8 - Factory Pattern</id>
    <author>
      <name>Jon Skeet, Rob Conery</name>
    </author>
    <content type="html">&lt;p&gt;&lt;img alt="Cspatterns_slide" src="/images/cspatterns_slide.png?1335812889" width="380" /&gt;&lt;/p&gt;&lt;p&gt;In this episode Jon talks about various ways to create an object instance, ans shows you how you can solve the confusion that can occur when you have too many constructor overloads - using the Factory Pattern.&lt;/p&gt;</content>
    <published>2012-05-14</published>
  </entry>
  <entry>
    <title>7 - Open, Closed and Substitution</title>
    <link href="http://tekpub.com/view/cspatterns/7" type="text/html" rel="alternate"/>
    <id>7 - Open, Closed and Substitution</id>
    <author>
      <name>Jon Skeet, Rob Conery</name>
    </author>
    <content type="html">&lt;p&gt;&lt;img alt="Cspatterns_slide" src="/images/cspatterns_slide.png?1335812889" width="380" /&gt;&lt;/p&gt;&lt;p&gt;Working our way through SOLID principles, Jon tackles the Open/Closed principle and Liskov's Substitution. Along the way we discuss how to facilitate change and extension in an API's inheritance scheme.&lt;/p&gt;</content>
    <published>2012-05-04</published>
  </entry>
  <entry>
    <title>6 - Type Meaning And Single Responsibility</title>
    <link href="http://tekpub.com/view/cspatterns/6" type="text/html" rel="alternate"/>
    <id>6 - Type Meaning And Single Responsibility</id>
    <author>
      <name>Jon Skeet, Rob Conery</name>
    </author>
    <content type="html">&lt;p&gt;&lt;img alt="Cspatterns_slide" src="/images/cspatterns_slide.png?1335812889" width="380" /&gt;&lt;/p&gt;&lt;p&gt;Designing a Conceptual Model is not easy, and quite often we can engineer ourselves into a very tricky spot with types that do multiple things for multiple reasons. In this episode, Jon takes apart System.DateTime - the poster child for "doing too much" (even the name has two concepts) in an effort to drive home the need for Single Responsibility and Type Clarity.&lt;/p&gt;</content>
    <published>2012-04-30</published>
  </entry>
  <entry>
    <title>5 - Outtake: Skeet Builds an IoC Container</title>
    <link href="http://tekpub.com/view/cspatterns/5" type="text/html" rel="alternate"/>
    <id>5 - Outtake: Skeet Builds an IoC Container</id>
    <author>
      <name>Jon Skeet, Rob Conery</name>
    </author>
    <content type="html">&lt;p&gt;&lt;img alt="Cspatterns_slide" src="/images/cspatterns_slide.png?1335812889" width="380" /&gt;&lt;/p&gt;&lt;p&gt;During the recording of Episode 4 (Inversion of Control) we asked Jon to "lead people along and show them the need" for using Inversion of Control with Dependency Injection. We expected a rough, hard-coded factory-style of thing, but no, Jon built a small, functional IoC container from scratch. We decided to include it here because it's fascinating to watch and... he's Skeet!&lt;/p&gt;</content>
    <published>2012-04-28</published>
  </entry>
  <entry>
    <title>1 - Singletons</title>
    <link href="http://tekpub.com/view/cspatterns/1" type="text/html" rel="alternate"/>
    <id>1 - Singletons</id>
    <author>
      <name>Jon Skeet, Rob Conery</name>
    </author>
    <content type="html">&lt;p&gt;&lt;img alt="Cspatterns_slide" src="/images/cspatterns_slide.png?1335812889" width="380" /&gt;&lt;/p&gt;&lt;p&gt;We start the series off with a bang - tackling a design pattern that plagues most developers - no matter the language. The Singleton is reviled by many - mostly because it's nearly impossible to do it correctly. In this episode Jon takes it on and shows you not one, not two - but SIX different ways to do a Singleton. And talks about various pitfalls along the way.&lt;/p&gt;</content>
    <published>2012-04-26</published>
  </entry>
  <entry>
    <title>3 - Dependency Injection</title>
    <link href="http://tekpub.com/view/cspatterns/3" type="text/html" rel="alternate"/>
    <id>3 - Dependency Injection</id>
    <author>
      <name>Jon Skeet, Rob Conery</name>
    </author>
    <content type="html">&lt;p&gt;&lt;img alt="Cspatterns_slide" src="/images/cspatterns_slide.png?1335812889" width="380" /&gt;&lt;/p&gt;&lt;p&gt;Using interfaces is a great way to loosen up your code's various dependencies - but how do you go about putting together an application that effectively uses that interfaces? One pattern than many developers like is Dependency Injection, and Jon explains how this patterns works in a real-world project: Noda Time. You get to see how this pattern is used in the wild to make code more flexible and maintainable.&lt;/p&gt;</content>
    <published>2012-04-26</published>
  </entry>
  <entry>
    <title>4 - Inversion of Control</title>
    <link href="http://tekpub.com/view/cspatterns/4" type="text/html" rel="alternate"/>
    <id>4 - Inversion of Control</id>
    <author>
      <name>Jon Skeet, Rob Conery</name>
    </author>
    <content type="html">&lt;p&gt;&lt;img alt="Cspatterns_slide" src="/images/cspatterns_slide.png?1335812889" width="380" /&gt;&lt;/p&gt;&lt;p&gt;Our code is getting looser and our hard-coded dependencies are making future maintenance less-frightening - but we are now faced with a new problem: getting a new object is becoming a bit of a pain as we need to pass in all the dependencies! This can be a nightmare - and it's a good thing we have Inversion of Control containers to help us out. In this episode Jon refactors his code to make use of a home-spun IoC container, and shows concisely how he's helping his future self maintain his large Noda Time project.&lt;/p&gt;</content>
    <published>2012-04-26</published>
  </entry>
  <entry>
    <title>2 - Interfaces</title>
    <link href="http://tekpub.com/view/cspatterns/2" type="text/html" rel="alternate"/>
    <id>2 - Interfaces</id>
    <author>
      <name>Jon Skeet, Rob Conery</name>
    </author>
    <content type="html">&lt;p&gt;&lt;img alt="Cspatterns_slide" src="/images/cspatterns_slide.png?1335812889" width="380" /&gt;&lt;/p&gt;&lt;p&gt;Using interfaces is accepted by many as something "you should just do". But why? What do interfaces do for you? How are they better then just using basic object construction? In this episode Jon uses Noda Time (his OSS project) and shows you how the use of interfaces has helped him surmount the perils of System.DateTime in .NET.&lt;/p&gt;</content>
    <published>2012-04-26</published>
  </entry>
  <entry>
    <title>7 - Socket IO</title>
    <link href="http://tekpub.com/view/node/7" type="text/html" rel="alternate"/>
    <id>7 - Socket IO</id>
    <author>
      <name>Rob Conery</name>
    </author>
    <content type="html">&lt;p&gt;&lt;img alt="Node_slide" src="/images/node_slide.png?1335812889" width="380" /&gt;&lt;/p&gt;&lt;p&gt;If you've ever seen a demo of NodeJS it's likely you've seen a demo of persistent connections between the server and client using socket.io - the basic chat app or IRC clone. In this episode we take a look at how bleedingly simple it is to hook up socket.io and play around.&lt;/p&gt;</content>
    <published>2012-04-18</published>
  </entry>
</feed>

