<?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>Mohammed Osman &#187; General</title>
	<atom:link href="http://osman.it/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://osman.it</link>
	<description></description>
	<lastBuildDate>Mon, 05 Dec 2011 20:05:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Abstract Factory Design Pattern C# .NET</title>
		<link>http://osman.it/general/abstract-factory-design-pattern-c-net/</link>
		<comments>http://osman.it/general/abstract-factory-design-pattern-c-net/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 19:29:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Abstract Factory Design Pattern C# .NET]]></category>

		<guid isPermaLink="false">http://osman.it/?p=368</guid>
		<description><![CDATA[Abstract Factory in the .NET Framework ADO.NET 2.0 includes two new Abstract Factory classes that offer provider independent data access techniques. They are: DbProviderFactory and DbProviderFactories. The DbProviderFactory class creates the &#8216;true&#8217; (i.e. the database specific) classes you need, such as SqlClientConnection, SqlClientCommand, and SqlClientDataAdapter. Each managed provider (such as SqlClient, OleDb, ODBC, and Oracle) [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Abstract Factory in the .NET Framework</strong></p>
<p>ADO.NET 2.0 includes two new Abstract Factory classes that offer provider independent data access techniques.</p>
<p>They are: DbProviderFactory and DbProviderFactories. The DbProviderFactory class creates the &lsquo;true&rsquo; (i.e. the database specific) classes you need, such as SqlClientConnection, SqlClientCommand, and SqlClientDataAdapter.</p>
<p>Each managed provider (such as SqlClient, OleDb, ODBC, and Oracle) has its own DbProviderFactory class. DbProviderFactory objects are created by the DbProviderFactories class, which itself is a factory class. In fact, it is a factory of factories &#8212; it manufactures different factories, one for each provider.</p>
<p>
When Microsoft talks about Abstract Factories they mean types that expose factory methods as virtual or abstract instance functions and return an abstract class or interface.</p>
<p><strong>Definition : </strong></p>
<blockquote>
<p>Provide an interface for creating families of related or dependent objects without specifying their concrete classes</p>
</blockquote>
<p><strong>Participants:</strong></p>
<p>
The classes and/or objects participating in this pattern are:<br />
&bull; <span style="color: #ff0000"><strong>AbstractFactory</strong></span> (<strong><span style="color: #000080">ManufacturerFactory</span></strong>)<br />
&nbsp;</p>
<blockquote><p>declares an interface for operations that create abstract products</p></blockquote>
<p>
&bull; <span style="color: #ff0000"><strong>ConcreteFactory</strong></span> (<span style="color: #000080"><strong>AppleFactory, NokiaFactory</strong></span>)<br />
&nbsp;</p>
<blockquote><p>implements the operations to create concrete product objects</p></blockquote>
<p>
&bull; <span style="color: #ff0000"><strong>AbstractProduct </strong></span>(<span style="color: #000080"><strong>3G, 2G</strong></span>)<br />
&nbsp;</p>
<blockquote><p>declares an interface for a type of product object</p></blockquote>
<p>
&bull; <span style="color: #ff0000"><strong>Product </strong></span>(<strong><span style="color: #000080">iPhone 2G/3G, N81, N95</span></strong>)<br />
&nbsp;</p>
<blockquote><p>defines a product object to be created by the corresponding concrete factory implements the AbstractProduct interface</p></blockquote>
<p>
&bull; <span style="color: #ff0000"><strong>Client </strong></span>(<span style="color: #000080"><strong>PhoneWorld</strong></span>)<br />
&nbsp;</p>
<blockquote><p>uses interfaces declared by AbstractFactory and AbstractProduct classes</p>
<p>&nbsp;</p>
</blockquote>
<p>
&nbsp;</p>
<p><strong>UML Diagram:</strong></p>
<p><a target="_blank" href="http://s609.photobucket.com/albums/tt174/mohdosman/?action=view&amp;current=Abstract.jpg"><img alt="Abstract Factory Design Patter" border="0" src="http://i609.photobucket.com/albums/tt174/mohdosman/Abstract.jpg" /></a></p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">namespace</span> Osman<span style="color: #008000;">.</span><span style="color: #0000FF;">Abstract</span>
<span style="color: #008000;">&#123;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// The 'AbstractFactory' interface.</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #6666cc; font-weight: bold;">interface</span> IManufacturerFactory
    <span style="color: #008000;">&#123;</span>
        I3G Create3GPhone<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        I2G Create2GPhone<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// The 'ConcreteFactory1' class.</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #6666cc; font-weight: bold;">class</span> AppleFactory <span style="color: #008000;">:</span> IManufacturerFactory
    <span style="color: #008000;">&#123;</span>
&nbsp;
        <span style="color: #008080;">#region IManufacturerFactory Members</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> I3G Create3GPhone<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">new</span> iPhone3G<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> I2G Create2GPhone<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">new</span> iPhone2G<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#endregion</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// The 'ConcreteFactory2' class.</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #6666cc; font-weight: bold;">class</span> NokiaFactory <span style="color: #008000;">:</span> IManufacturerFactory
    <span style="color: #008000;">&#123;</span>
&nbsp;
        <span style="color: #008080;">#region IManufacturerFactory Members</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> I3G Create3GPhone<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">new</span> N95<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> I2G Create2GPhone<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">new</span> N81<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#endregion</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// &amp;quot;AbstractProductA&amp;quot;</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #6666cc; font-weight: bold;">interface</span> I2G
    <span style="color: #008000;">&#123;</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> Support2G<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// &amp;quot;AbstractProductB&amp;quot;</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #6666cc; font-weight: bold;">interface</span> I3G
    <span style="color: #008000;">&#123;</span>
        <span style="color: #6666cc; font-weight: bold;">void</span> Support3G<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// The &amp;quot;ProductA1&amp;quot; class</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #6666cc; font-weight: bold;">class</span> iPhone2G <span style="color: #008000;">:</span> I2G
    <span style="color: #008000;">&#123;</span>
        <span style="color: #008080;">#region I2G Members</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> Support2G<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// Support 2G</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetType</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span> <span style="color: #008000;">+</span> <span style="color: #008000;">&amp;</span>quot<span style="color: #008000;">;</span> supports 2G<span style="color: #008000;">&amp;</span>quot<span style="color: #008000;">;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#endregion</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// The &amp;quot;ProductB1&amp;quot; class</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #6666cc; font-weight: bold;">class</span> iPhone3G <span style="color: #008000;">:</span> I3G
    <span style="color: #008000;">&#123;</span>
&nbsp;
        <span style="color: #008080;">#region I3G Members</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> Support3G<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// Support 3G</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetType</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span> <span style="color: #008000;">+</span> <span style="color: #008000;">&amp;</span>quot<span style="color: #008000;">;</span> supports 3G<span style="color: #008000;">&amp;</span>quot<span style="color: #008000;">;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#endregion</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// The &amp;quot;ProductA2&amp;quot; class</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #6666cc; font-weight: bold;">class</span> N81 <span style="color: #008000;">:</span> I2G
    <span style="color: #008000;">&#123;</span>
        <span style="color: #008080;">#region I2G Members</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> Support2G<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// Support 2G</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetType</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span> <span style="color: #008000;">+</span> <span style="color: #008000;">&amp;</span>quot<span style="color: #008000;">;</span> supports 2G<span style="color: #008000;">&amp;</span>quot<span style="color: #008000;">;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#endregion</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// The &amp;quot;ProductB2&amp;quot; class</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #6666cc; font-weight: bold;">class</span> N95 <span style="color: #008000;">:</span> I3G
    <span style="color: #008000;">&#123;</span>
&nbsp;
        <span style="color: #008080;">#region I3G Members</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> Support3G<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// Support 3G</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetType</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span> <span style="color: #008000;">+</span> <span style="color: #008000;">&amp;</span>quot<span style="color: #008000;">;</span> supports 3G<span style="color: #008000;">&amp;</span>quot<span style="color: #008000;">;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#endregion</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// The 'Client' class (according to pattern UML).</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #6666cc; font-weight: bold;">class</span> PhoneWorld
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">private</span> I3G obj3GPhone<span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">private</span> I2G obj2GPhone<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
        <span style="color: #008080; font-style: italic;">/// Contructor of PhoneWorld</span>
        <span style="color: #008080; font-style: italic;">/// </span>
        <span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;manufacturer&quot; /&gt;Manufacturer of the phone world that is created.</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> PhoneWorld<span style="color: #008000;">&#40;</span>Manufacturer manufacturer<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// Get fully qualified factory name</span>
            <span style="color: #6666cc; font-weight: bold;">string</span> name <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetType</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Namespace</span> <span style="color: #008000;">+</span> <span style="color: #008000;">&amp;</span>quot<span style="color: #008000;">;.&amp;</span>quot<span style="color: #008000;">;</span> <span style="color: #008000;">+</span>
                manufacturer<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">+</span> <span style="color: #008000;">&amp;</span>quot<span style="color: #008000;">;</span>Factory<span style="color: #008000;">&amp;</span>quot<span style="color: #008000;">;;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">// Dynamic factory creation</span>
            IManufacturerFactory factory <span style="color: #008000;">=</span>
                <span style="color: #008000;">&#40;</span>IManufacturerFactory<span style="color: #008000;">&#41;</span><span style="color: #000000;">System</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Activator</span><span style="color: #008000;">.</span><span style="color: #0000FF;">CreateInstance</span>
                <span style="color: #008000;">&#40;</span>Type<span style="color: #008000;">.</span><span style="color: #0000FF;">GetType</span><span style="color: #008000;">&#40;</span>name<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            obj3GPhone <span style="color: #008000;">=</span> factory<span style="color: #008000;">.</span><span style="color: #0000FF;">Create3GPhone</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            obj2GPhone <span style="color: #008000;">=</span> factory<span style="color: #008000;">.</span><span style="color: #0000FF;">Create2GPhone</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
        <span style="color: #008080; font-style: italic;">/// Runs the SupportChain in the Phone world.</span>
        <span style="color: #008080; font-style: italic;">/// </span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> SupportChain<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            obj3GPhone<span style="color: #008000;">.</span><span style="color: #0000FF;">Support3G</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            obj2GPhone<span style="color: #008000;">.</span><span style="color: #0000FF;">Support2G</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// Enumeration of Phone Manufacturer.</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">enum</span> Manufacturer
    <span style="color: #008000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
        <span style="color: #008080; font-style: italic;">/// Represents Apple.</span>
        <span style="color: #008080; font-style: italic;">/// </span>
        Apple,
&nbsp;
        <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
        <span style="color: #008080; font-style: italic;">/// Represents Nokia.</span>
        <span style="color: #008080; font-style: italic;">/// </span>
        Nokia
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Main Class</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">   <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// Abstract Factory Design Pattern.</span>
    <span style="color: #008080; font-style: italic;">/// </span>
    <span style="color: #6666cc; font-weight: bold;">class</span> MainEntry
    <span style="color: #008000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;&lt;/summary&gt;</span>
        <span style="color: #008080; font-style: italic;">/// Entry point into console application.</span>
        <span style="color: #008080; font-style: italic;">/// </span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">void</span> Main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// Create and run the Apple phone world</span>
            PhoneWorld objPhoneWorld <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> PhoneWorld<span style="color: #008000;">&#40;</span>Manufacturer<span style="color: #008000;">.</span><span style="color: #0000FF;">Apple</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            objPhoneWorld<span style="color: #008000;">.</span><span style="color: #0000FF;">SupportChain</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">// Create and run the Nokia phone world</span>
            objPhoneWorld <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> PhoneWorld<span style="color: #008000;">&#40;</span>Manufacturer<span style="color: #008000;">.</span><span style="color: #0000FF;">Nokia</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            objPhoneWorld<span style="color: #008000;">.</span><span style="color: #0000FF;">SupportChain</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">// Wait for user input</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">Read</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span></pre></div></div>

<p>&nbsp;</p>
<img src="http://osman.it/?ak_action=api_record_view&id=368&type=feed" alt="" /><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fosman.it%2Fgeneral%2Fabstract-factory-design-pattern-c-net%2F&amp;title=Abstract%20Factory%20Design%20Pattern%20C%23%20.NET" id="wpa2a_2"><img src="http://osman.it/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><hr />
<p><small>© admin for <a href="http://osman.it">Mohammed Osman</a>, 2009. |
<a href="http://osman.it/general/abstract-factory-design-pattern-c-net/">Permalink</a> |
<a href="http://osman.it/general/abstract-factory-design-pattern-c-net/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://osman.it/general/abstract-factory-design-pattern-c-net/&title=Abstract Factory Design Pattern C# .NET">del.icio.us</a>
<br/>
Post tags: <a href="http://osman.it/tag/abstract-factory-design-pattern-c-net/" rel="tag">Abstract Factory Design Pattern C# .NET</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://osman.it/general/abstract-factory-design-pattern-c-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Online Professional Diagrams</title>
		<link>http://osman.it/general/online-professional-diagrams/</link>
		<comments>http://osman.it/general/online-professional-diagrams/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 21:33:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Online Professional Diagrams]]></category>

		<guid isPermaLink="false">http://mdosman.us/?p=365</guid>
		<description><![CDATA[Lovely Charts is an online diagramming application, that allows you to create professional looking diagrams of all kinds, such as flowcharts, sitemaps,organisation charts,wireframes, and many more&#8230; For Freeeeee With Lovely Charts&#8217;s extremely simple and intuitive drag&#8217;n drop drawing mechanism, you&#8217;ll be able to focus on what really matters. You won&#8217;t have to draw boxes and [...]]]></description>
			<content:encoded><![CDATA[<p>Lovely Charts is an online diagramming application, that allows you to create professional looking diagrams of all kinds, such as flowcharts, sitemaps,organisation charts,wireframes, and many more&#8230; For Freeeeee</p>
<p>With Lovely Charts&#8217;s extremely simple and intuitive drag&#8217;n drop drawing mechanism, you&#8217;ll be able to focus on what really matters. You won&#8217;t have to draw boxes and arrows, you won&#8217;t have to worry about what symbol to use.<br />
Check out our <a href="/screencast.php">screencast</a> to discover how it works, we&#8217;re pretty confident you&#8217;ll like what you&#8217;ll see.</p>
<p><a href="http://www.lovelycharts.com/">http://www.lovelycharts.com/</a></p>
<img src="http://osman.it/?ak_action=api_record_view&id=365&type=feed" alt="" /><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fosman.it%2Fgeneral%2Fonline-professional-diagrams%2F&amp;title=Online%20Professional%20Diagrams" id="wpa2a_4"><img src="http://osman.it/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><hr />
<p><small>© admin for <a href="http://osman.it">Mohammed Osman</a>, 2009. |
<a href="http://osman.it/general/online-professional-diagrams/">Permalink</a> |
<a href="http://osman.it/general/online-professional-diagrams/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://osman.it/general/online-professional-diagrams/&title=Online Professional Diagrams">del.icio.us</a>
<br/>
Post tags: <a href="http://osman.it/tag/online-professional-diagrams/" rel="tag">Online Professional Diagrams</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://osman.it/general/online-professional-diagrams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Charts</title>
		<link>http://osman.it/general/javascript-charts/</link>
		<comments>http://osman.it/general/javascript-charts/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 21:23:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[JavaScript Charts]]></category>

		<guid isPermaLink="false">http://mdosman.us/?p=362</guid>
		<description><![CDATA[http://www.jscharts.com/home What is JS Charts? JS Charts is a free JavaScript based chart generator that requires little or no coding. With JS Charts drawing charts is a simple and easy task, since you only have to use client-side scripting (i.e. performed by your web browser). No additional plugins or server modules are required. Just include [...]]]></description>
			<content:encoded><![CDATA[<h2><a href="http://www.jscharts.com/home">http://www.jscharts.com/home</a></h2>
<h2>What is JS Charts?</h2>
<p>JS Charts is a free JavaScript based chart generator that requires little or no coding. With JS Charts drawing charts is a simple and easy task, since you only have to use client-side scripting (i.e. performed by your web browser). No additional plugins or server modules are required. Just include our scripts, prepare your chart data in XML or JavaScript Array and your chart is ready!</p>
<p>JS Charts lets you create charts in different templates like <a href="http://mdosman.us/how-to-use-examples-bar">bar charts</a>, <a href="http://mdosman.us/how-to-use-examples-pie">pie charts</a> or simple <a href="http://mdosman.us/how-to-use-examples-line">line graphs</a>.</p>
<p id="home_ex"><a href="http://www.jscharts.com/home/images/home_ex_1.jpg"><img alt="" src="http://mdosman.us/images/home_ex_1.jpg" /></a>&nbsp;<a href="http://mdosman.us/examples#example2"><img alt="" src="http://mdosman.us/images/home_ex_2.jpg" /></a> <a href="http://mdosman.us/examples#example3"><img alt="" src="http://mdosman.us/images/home_ex_3.jpg" /></a><br />
<br style="line-height: 10px" /><br />
<a href="http://mdosman.us/examples">view more examples&#8230;</a></p>
<p>Our online <a href="http://mdosman.us/editor">editor</a>, that has an easy to use interface, enables you to create highly customized charts in minutes, and then export them (upload the sources to your server) or get the embedding code (hosted version).</p>
<h2>Features. Why should you use JS Charts?</h2>
<ul>
<li>You don&#8217;t have to write code</li>
<li>It&#8217;s easy to integrate</li>
<li>It&#8217;s customizable</li>
<li>You can edit your charts online</li>
<li>You can create the three most common types of charts: bar, pie and line</li>
<li>Optionally, we host your charts on our servers</li>
<li>You can save your charts to your user account</li>
<li>It&#8217;s compatible with most web browsers</li>
<li>You don&#8217;t need any server-side plugins/modules.</li>
<li>It&#8217;s a 100% JavaScript component</li>
<li>It&#8217;s free to use and watermark-free.</li>
</ul>
<p>
&nbsp;</p>
<h2>Compatibility</h2>
<h3>Windows</h3>
<ul>
<li>Firefox 1.5 +</li>
<li>Internet Explorer 7</li>
<li>Internet Explorer 6</li>
<li>Safari 3.1 +</li>
<li>Opera 9 +</li>
<li>and other browsers</li>
</ul>
<h3>Mac</h3>
<ul>
<li>Firefox 1.5+</li>
<li>iPhone 1+</li>
<li>Safari 2+</li>
</ul>
<img src="http://osman.it/?ak_action=api_record_view&id=362&type=feed" alt="" /><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fosman.it%2Fgeneral%2Fjavascript-charts%2F&amp;title=JavaScript%20Charts" id="wpa2a_6"><img src="http://osman.it/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><hr />
<p><small>© admin for <a href="http://osman.it">Mohammed Osman</a>, 2009. |
<a href="http://osman.it/general/javascript-charts/">Permalink</a> |
<a href="http://osman.it/general/javascript-charts/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://osman.it/general/javascript-charts/&title=JavaScript Charts">del.icio.us</a>
<br/>
Post tags: <a href="http://osman.it/tag/javascript-charts/" rel="tag">JavaScript Charts</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://osman.it/general/javascript-charts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Shout Out</title>
		<link>http://osman.it/general/net-shout-out/</link>
		<comments>http://osman.it/general/net-shout-out/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 17:31:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[.NET Shout Out]]></category>

		<guid isPermaLink="false">http://mdosman.us/?p=359</guid>
		<description><![CDATA[Kazi Manzur Rashid has recently launched a new Community Site for .NET developers http://dotnetshoutout.com It&#8217;s a categorized, hand picked index of .NET info, which is cool enough, but there is a really interesting aspect. 1.) It&#8217;s an ASP.NET MVC application 2.) It&#8217;s based on an Open Source CodePlex.com project&#160; KiGG (http://codplex.com/KiGG).&#160; KiGG was the first [...]]]></description>
			<content:encoded><![CDATA[<p><img height="484" border="0" width="616" src="http://www.misfitgeek.com/content/binary/WindowsLiveWriter/Introducing.NETShoutOut_97B5/2-5-2009%2010-40-50%20AM_thumb.png" alt="2-5-2009 10-40-50 AM" style="border-width: 0px;" /></p>
<p>Kazi Manzur Rashid has recently launched a new Community Site for .NET  developers <a href="http://dotnetshoutout.com">http://dotnetshoutout.com</a></p>
<p>It&#8217;s a categorized, hand picked index of .NET info, which is cool enough, but  there is a really interesting aspect.</p>
<p>1.) It&#8217;s an ASP.NET MVC application</p>
<p>2.) It&#8217;s based on an Open Source CodePlex.com project&nbsp; KiGG (<a href="http://codplex.com/KiGG">http://codplex.com/KiGG</a>).&nbsp;  KiGG was the first starter kit for <a href="http://asp.net">ASP.NET</a>  MVC.</p>
<p>Check it out!</p>
<img src="http://osman.it/?ak_action=api_record_view&id=359&type=feed" alt="" /><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fosman.it%2Fgeneral%2Fnet-shout-out%2F&amp;title=.NET%20Shout%20Out" id="wpa2a_8"><img src="http://osman.it/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><hr />
<p><small>© admin for <a href="http://osman.it">Mohammed Osman</a>, 2009. |
<a href="http://osman.it/general/net-shout-out/">Permalink</a> |
<a href="http://osman.it/general/net-shout-out/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://osman.it/general/net-shout-out/&title=.NET Shout Out">del.icio.us</a>
<br/>
Post tags: <a href="http://osman.it/tag/net-shout-out/" rel="tag">.NET Shout Out</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://osman.it/general/net-shout-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thank CBS 60 Minutes for Exposing Israeli Apartheid</title>
		<link>http://osman.it/general/thank-cbs-60-minutes-for-exposing-israeli-apartheid/</link>
		<comments>http://osman.it/general/thank-cbs-60-minutes-for-exposing-israeli-apartheid/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 17:41:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Thank CBS 60 Minutes for Exposing Israeli Apartheid]]></category>

		<guid isPermaLink="false">http://mdosman.us/?p=347</guid>
		<description><![CDATA[During Israel&#8217;s war on Gaza we launched a campaign to end the media blackout and that journalists expose Israel&#8217;s crimes and apartheid. Thousands of supporters used our website to contact the presidents of big Media calling for better coverage. The campaign got their attention and some journalist have positively responded to our collective pressure. On [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left">During Israel&#8217;s war on Gaza we launched a campaign to end the media blackout and that journalists expose Israel&#8217;s crimes and apartheid. Thousands of supporters used our website to contact the presidents of big <embed width="425" type="application/x-shockwave-flash" flashvars="link=http%3A%2F%2Fwww%2Ecbsnews%2Ecom%2Fvideo%2Fwatch%2F%3Fid%3D4752349n&amp;partner=news&amp;vert=News&amp;autoPlayVid=false&amp;releaseURL=http://release.theplatform.com/content.select?pid=F9TH9ZGJqzVrSiJCp9NrVa23J03p4_M0&amp;name=cbsPlayer&amp;allowScriptAccess=always&amp;wmode=transparent&amp;embedded=y&amp;scale=noscale&amp;rv=n&amp;salign=tl" allowfullscreen="false" height="324" src="http://www.cbs.com/thunder/swf30can10cbsnews/rcpHolderCbs-3-4x3.swf" align="3" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>Media calling for better coverage. The campaign got their attention and some journalist have positively responded to our collective pressure.</p>
<p>On Sunday, January 25, CBS 60 Minutes aired an amazing segment exposing Israel&#8217;s apartheid against Palestinians.&nbsp; The piece is by Senior CBS Foreign <b>Correspondent Bob Simon, who is Jewish living outside Tel-Aviv and produced by Robert G, Anderson. </b></p>
<p><b>TAKE ACTION:</b></p>
<p><b>1. Watch this video</b></p>
<p><b>2. Send a thank you note to 60 Minutes, Bob Simon and Robert Anderson, using the below form</b></p>
<p>3.<b> Urge &amp; Invite everyone you know to watch the video and send a thank you note</b></p>
<p>&nbsp;</p>
<p>
<script type="text/javascript">
//Sets a field to TRUE or FALSE based on a checkbox
function setBoolean(checkBox, targetField){
	if (checkBox.checked==true){
		targetField.value="1";
	}
	else{
		targetField.value="0";
	}</p>
<p>}</script><a href="http://action.gazajustice.org/t/4436/campaign.jsp?campaign_KEY=963">http://action.gazajustice.org/t/4436/campaign.jsp?campaign_KEY=963</a><!-- Current--></p>
<img src="http://osman.it/?ak_action=api_record_view&id=347&type=feed" alt="" /><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fosman.it%2Fgeneral%2Fthank-cbs-60-minutes-for-exposing-israeli-apartheid%2F&amp;title=Thank%20CBS%2060%20Minutes%20for%20Exposing%20Israeli%20Apartheid" id="wpa2a_10"><img src="http://osman.it/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><hr />
<p><small>© admin for <a href="http://osman.it">Mohammed Osman</a>, 2009. |
<a href="http://osman.it/general/thank-cbs-60-minutes-for-exposing-israeli-apartheid/">Permalink</a> |
<a href="http://osman.it/general/thank-cbs-60-minutes-for-exposing-israeli-apartheid/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://osman.it/general/thank-cbs-60-minutes-for-exposing-israeli-apartheid/&title=Thank CBS 60 Minutes for Exposing Israeli Apartheid">del.icio.us</a>
<br/>
Post tags: <a href="http://osman.it/tag/thank-cbs-60-minutes-for-exposing-israeli-apartheid/" rel="tag">Thank CBS 60 Minutes for Exposing Israeli Apartheid</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://osman.it/general/thank-cbs-60-minutes-for-exposing-israeli-apartheid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Anti-Muslim Bombay Riot Expose</title>
		<link>http://osman.it/general/anti-muslim-bombay-riot-expose/</link>
		<comments>http://osman.it/general/anti-muslim-bombay-riot-expose/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 22:05:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Anti-Muslim Bombay Riot Expose]]></category>

		<guid isPermaLink="false">http://mdosman.us/?p=338</guid>
		<description><![CDATA[Policemen turned rioters during the 1992-1993 Anti-Muslim Bombay riots and politicians provoked communal/religious hatred—a CNN INDIA investigation proved on August 25, 2007.    But will the guilty policemen and politicians will ever be brought to justice? Will the Justice Srikrishna report on the riots be implemented? A special debate finds out.     © admin [...]]]></description>
			<content:encoded><![CDATA[<div class="watch-video-desc description"><span>Policemen turned rioters during the 1992-1993 Anti-Muslim Bombay riots and politicians provoked communal/religious hatred—a CNN INDIA investigation proved on August 25, 2007.</span></div>
<div class="watch-video-desc description"> </div>
<div class="watch-video-desc description"><span> But will the guilty policemen and politicians will ever be brought to justice? Will the Justice Srikrishna report on the riots be implemented? A special debate finds out. </span></div>
<div class="watch-video-desc description"> </div>
<div class="watch-video-desc description"><span><span><p><a href="http://osman.it/general/anti-muslim-bombay-riot-expose/"><em>Click here to view the embedded video.</em></a></p><br />
<p><a href="http://osman.it/general/anti-muslim-bombay-riot-expose/"><em>Click here to view the embedded video.</em></a></p><br />
<p><a href="http://osman.it/general/anti-muslim-bombay-riot-expose/"><em>Click here to view the embedded video.</em></a></p><br />
<p><a href="http://osman.it/general/anti-muslim-bombay-riot-expose/"><em>Click here to view the embedded video.</em></a></p><br />
<p><a href="http://osman.it/general/anti-muslim-bombay-riot-expose/"><em>Click here to view the embedded video.</em></a></p><br />
<p><a href="http://osman.it/general/anti-muslim-bombay-riot-expose/"><em>Click here to view the embedded video.</em></a></p><br />
<p><a href="http://osman.it/general/anti-muslim-bombay-riot-expose/"><em>Click here to view the embedded video.</em></a></p></span></span></div>
<div class="watch-video-desc description"></div>
<div class="watch-video-desc description"> </div>
<img src="http://osman.it/?ak_action=api_record_view&id=338&type=feed" alt="" /><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fosman.it%2Fgeneral%2Fanti-muslim-bombay-riot-expose%2F&amp;title=Anti-Muslim%20Bombay%20Riot%20Expose" id="wpa2a_12"><img src="http://osman.it/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><hr />
<p><small>© admin for <a href="http://osman.it">Mohammed Osman</a>, 2009. |
<a href="http://osman.it/general/anti-muslim-bombay-riot-expose/">Permalink</a> |
<a href="http://osman.it/general/anti-muslim-bombay-riot-expose/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://osman.it/general/anti-muslim-bombay-riot-expose/&title=Anti-Muslim Bombay Riot Expose">del.icio.us</a>
<br/>
Post tags: <a href="http://osman.it/tag/anti-muslim-bombay-riot-expose/" rel="tag">Anti-Muslim Bombay Riot Expose</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://osman.it/general/anti-muslim-bombay-riot-expose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTTP Debugging Proxy</title>
		<link>http://osman.it/general/http-debugging-proxy/</link>
		<comments>http://osman.it/general/http-debugging-proxy/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 15:40:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HTTP Debugging Proxy]]></category>

		<guid isPermaLink="false">http://mdosman.us/?p=312</guid>
		<description><![CDATA[&#160; I&#8217;ve long been a Fiddler fan. It&#8217;s been a super valuable tool for debugging Javascript, WCF SOAP request and REST based code. http://www.fiddlertool.com/ It rocks, but I think Firebug, A Web Development Must-Have,a free, open source extension for the Firefox browser that provides many useful developer features and tools. Using Firebug, you can monitor, [...]]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://www.misfitgeek.com/content/binary/WindowsLiveWriter/HTTPDebuggingProxy_8966/FiddlerLogo_3.png"><img height="77" alt="FiddlerLogo" width="244" border="0" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://www.misfitgeek.com/content/binary/WindowsLiveWriter/HTTPDebuggingProxy_8966/FiddlerLogo_3.png" /></a>&nbsp;</p>
<p>I&#8217;ve long been a Fiddler fan. It&#8217;s been a super valuable tool for debugging Javascript, WCF SOAP request and REST based code.</p>
<p><a title="http://www.fiddlertool.com/" href="http://www.fiddlertool.com"><font color="#000099">http://www.fiddlertool.com/</font></a></p>
<p><img class="center" id="image2399" alt="Firebug." src="http://literalbarrage.org/blog/wp-content/uploads/firebug.png" align="center" /></p>
<p>It rocks, but I think Firebug, A Web Development Must-Have,a free, open source extension for the Firefox browser that provides many useful developer features and tools. Using Firebug, you can monitor, edit, and debug live pages, including HTML, CSS, JavaScript code, and network traffic. One of the Best tool for debugging and tuning your Web and Ajax applications.</p>
<img src="http://osman.it/?ak_action=api_record_view&id=312&type=feed" alt="" /><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fosman.it%2Fgeneral%2Fhttp-debugging-proxy%2F&amp;title=HTTP%20Debugging%20Proxy" id="wpa2a_14"><img src="http://osman.it/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><hr />
<p><small>© admin for <a href="http://osman.it">Mohammed Osman</a>, 2009. |
<a href="http://osman.it/general/http-debugging-proxy/">Permalink</a> |
<a href="http://osman.it/general/http-debugging-proxy/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://osman.it/general/http-debugging-proxy/&title=HTTP Debugging Proxy">del.icio.us</a>
<br/>
Post tags: <a href="http://osman.it/tag/http-debugging-proxy/" rel="tag">HTTP Debugging Proxy</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://osman.it/general/http-debugging-proxy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TOOL: ePassport Photo</title>
		<link>http://osman.it/general/tool-epassport-photo/</link>
		<comments>http://osman.it/general/tool-epassport-photo/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 22:30:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[ePassport Photo]]></category>

		<guid isPermaLink="false">http://mdosman.us/?p=309</guid>
		<description><![CDATA[So why is it when we&#160;apply for visa&#160;or need a passport photo we rely on these shops which give us 2 photos for ~15-20 USD&#160; per shot? And often when you have one of these photos you look like a joker. Next time when you want to get your photos for Passport, Visa, Immigration &#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>So why is it when we&nbsp;apply for visa&nbsp;or need a passport photo we rely on these shops which give us 2 photos for ~15-20 USD&nbsp; per shot? And often when you have one of these photos you look like a joker.</p>
<p>Next time when you want to get your photos for Passport, Visa, Immigration &#8230; Wait&#8230; Dont waste your money at these places.</p>
<p>Here&#8217;s another interesting online tool: <a href="http://www.epassportphoto.com/"><font color="#2a6080">ePassport Photo</font></a>.</p>
<p>Go to their site, upload your photo (follow the instructions), rotate and crop, download and print. Nifty!<br />
&nbsp;</p>
<img src="http://osman.it/?ak_action=api_record_view&id=309&type=feed" alt="" /><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fosman.it%2Fgeneral%2Ftool-epassport-photo%2F&amp;title=TOOL%3A%20ePassport%20Photo" id="wpa2a_16"><img src="http://osman.it/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><hr />
<p><small>© admin for <a href="http://osman.it">Mohammed Osman</a>, 2009. |
<a href="http://osman.it/general/tool-epassport-photo/">Permalink</a> |
<a href="http://osman.it/general/tool-epassport-photo/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://osman.it/general/tool-epassport-photo/&title=TOOL: ePassport Photo">del.icio.us</a>
<br/>
Post tags: <a href="http://osman.it/tag/epassport-photo/" rel="tag">ePassport Photo</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://osman.it/general/tool-epassport-photo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intellisense for jQuery</title>
		<link>http://osman.it/general/intellisense-for-jquery/</link>
		<comments>http://osman.it/general/intellisense-for-jquery/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 17:39:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Intellisense]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://mdosman.us/?p=259</guid>
		<description><![CDATA[I love jQeury. I&#8217;m a jQuery Fan ! Look at this example from the jQuery home page: $("p.surprise").addClass("ohmy").show("slow"); That will get all the p elements with the class surprise, add the class &#8220;ohmy&#8221;, and then change the display to &#8220;block&#8221; with a slow animation. Go run it on the jQuery homepage.  Nice, eh?  The dollar [...]]]></description>
			<content:encoded><![CDATA[<div class="itemBodyStyle">
<p>I love jQeury. I&#8217;m a jQuery Fan !</p>
<p>Look at this example from the <a title="jQuery - a sweet JavaScript framework" href="http://jquery.com/">jQuery home page</a>:</p>
<pre><code>
$("p.surprise").addClass("ohmy").show("slow");
</code></pre>
<p>That will get all the p elements with the class surprise, add the class &#8220;ohmy&#8221;, and then change the display to &#8220;block&#8221; with a slow animation. Go run it on the jQuery homepage.  Nice, eh?  The dollar function is magical.  You just give it a CSS selector, and it returns jQuery objects that you can do all kinds of cool things with.  Also, almost all the functions in the framework return this same jQuery object, so they are chainable like you see above.</p>
<p>Lance Fisher has made an update to jQuery for Intellisense in Visual Studio 2008</p>
<p><img src="http://www.ajaxonomy.com/files/jquery.jpg" alt="" /></p>
<p>[ <a href="http://lancefisher.net/blog/archive/2008/02/12/intellisense-for-jquery-in-visual-studio-2008.aspx" target="_blank"><span style="color: #000099;">Click here to read about it and download jQuery with the Intellisense updates</span></a>. ]</p>
<div style="clear: both"><!-- we need this embedded div since we may have floated an image in the item body --></div>
</div>
<img src="http://osman.it/?ak_action=api_record_view&id=259&type=feed" alt="" /><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fosman.it%2Fgeneral%2Fintellisense-for-jquery%2F&amp;title=Intellisense%20for%20jQuery" id="wpa2a_18"><img src="http://osman.it/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><hr />
<p><small>© admin for <a href="http://osman.it">Mohammed Osman</a>, 2009. |
<a href="http://osman.it/general/intellisense-for-jquery/">Permalink</a> |
<a href="http://osman.it/general/intellisense-for-jquery/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://osman.it/general/intellisense-for-jquery/&title=Intellisense for jQuery">del.icio.us</a>
<br/>
Post tags: <a href="http://osman.it/tag/intellisense/" rel="tag">Intellisense</a>, <a href="http://osman.it/tag/jquery/" rel="tag">jQuery</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://osman.it/general/intellisense-for-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What are Design Patterns?</title>
		<link>http://osman.it/general/what-are-design-patterns/</link>
		<comments>http://osman.it/general/what-are-design-patterns/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 01:54:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Patterns]]></category>

		<guid isPermaLink="false">http://mdosman.us/?p=251</guid>
		<description><![CDATA[I&#8217;m sure most of the good programmer like me probably don&#8217;t write any code until we build a picture in our mind of what the code does and how the pieces of the code interact.The more that you can picture this,&#160;&#160;the more likely you are to feel comfortable that you have developed the best solution [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify">I&#8217;m sure most of the good programmer like me probably don&rsquo;t write any code until we build a picture in our mind of what the code does and how the pieces of the code interact.The more that you can picture this,&nbsp;&nbsp;the more likely you are to feel comfortable that you have developed the best solution to the problem. If you don&rsquo;t get this right away, you may keep staring out the window for a time if you are lucky to have a nice view from your office and if not then you may be staring at your desktop, even though the basic solution to the problem is quite obvious.</p>
<p style="text-align: justify">I feel that it&#8217;s very important for any programmer to develop a best elegant solution. The more elegant solution it is the more reusable it will be. That is why it is very important to satisfy this need for elegant, but simple, reusable solutions. That&#8217;s where the term &quot;design patterns&quot; comes in picture. It may sound very formal when you first encounter it but, in fact, design patterns are just convenient ways of reusing object oriented code between projects and between programmers.The idea behind design patterns is simple&mdash;write down and catalog common interactions between objects that programmers have frequently found useful.</p>
<p style="text-align: justify">Some useful definitions of design patterns</p>
<blockquote>
<p style="text-align: justify">&ldquo;Design patterns are recurring solutions to design problems you see over and over.&rdquo; (The Smalltalk Companion)</p>
</blockquote>
<blockquote>
<p>&ldquo;Design patterns constitute a set of rules describing how to accomplish certain tasks in the realm of software development.&rdquo; (Pree 1994)</p>
</blockquote>
<blockquote>
<p>&ldquo;Design patterns focus more on reuse of recurring architectural design themes, while frameworks focus on detailed design and implementation.&rdquo; (Coplien and Schmidt 1995)</p>
</blockquote>
<blockquote>
<p>&ldquo;A pattern addresses a recurring design problem that arises in specific design situations and presents a solution to it.&rdquo; (Buschmann et al.1996)</p>
</blockquote>
<blockquote>
<p>&ldquo;Patterns identify and specify abstractions that are above the level of single classes and instances, or of components.&rdquo; (Gamma et al., 1993)</p>
</blockquote>
<p>
In next coming blogs, I will be discussing around 20 design patterns divided into three types: creational,structural, and behavioral.</p>
<blockquote>
<p><em><strong>Creational patterns</strong></em> create objects for you rather than having you instantiate objects directly. This gives your program more flexibility in deciding which objects need to be created for a given case.</p>
</blockquote>
<blockquote>
<p><em><strong>Structural patterns </strong></em>help you compose groups of objects into larger structures, such as complex user interfaces or accounting data.</p>
</blockquote>
<blockquote>
<p><em><strong>Behavioral patterns</strong></em> help you define the communication between&nbsp; objects in your system and how the flow is controlled in a complex program.</p>
</blockquote>
<p>We&rsquo;ll be looking at C# versions of these patterns.</p>
<img src="http://osman.it/?ak_action=api_record_view&id=251&type=feed" alt="" /><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fosman.it%2Fgeneral%2Fwhat-are-design-patterns%2F&amp;title=What%20are%20Design%20Patterns%3F" id="wpa2a_20"><img src="http://osman.it/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p><hr />
<p><small>© admin for <a href="http://osman.it">Mohammed Osman</a>, 2009. |
<a href="http://osman.it/general/what-are-design-patterns/">Permalink</a> |
<a href="http://osman.it/general/what-are-design-patterns/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://osman.it/general/what-are-design-patterns/&title=What are Design Patterns?">del.icio.us</a>
<br/>
Post tags: <a href="http://osman.it/tag/design/" rel="tag">Design</a>, <a href="http://osman.it/tag/patterns/" rel="tag">Patterns</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://osman.it/general/what-are-design-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

