<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Murat Genç</title>
    <description>Murat GENÇ</description>
    <link>http://muratgenc.info</link>
    <pubDate>2009-06-14T06:22:14.5061424Z</pubDate>
    <guid>262802a8-babd-4df8-9ab5-d5814b090cf8</guid>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/MuratGenc" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>Brute force solution</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/1zTR9oPW_nw/Brute-force-solution.aspx</link>
      <description>&lt;IMG alt=http://imgs.xkcd.com/comics/travelling_salesman_problem.png align=middle src="http://imgs.xkcd.com/comics/travelling_salesman_problem.png"&gt;</description>
      <pubDate>2009-05-12T00:09:09</pubDate>
    <feedburner:origLink>http://muratgenc.info/Brute-force-solution.aspx</feedburner:origLink></item>
    <item>
      <title>Religious debates</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/BbUkl3Xj5T0/religious-debates.aspx</link>
      <description>&lt;IMG alt=http://img161.imageshack.us/img161/2241/dontmakemethinkpg131smaos4.png align=middle src="http://img161.imageshack.us/img161/2241/dontmakemethinkpg131smaos4.png"&gt;</description>
      <pubDate>2009-05-12T00:00:57</pubDate>
    <feedburner:origLink>http://muratgenc.info/religious-debates.aspx</feedburner:origLink></item>
    <item>
      <title>Google Chrome logosunun öyküsü</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/I02bcD0-tDM/google-chrome-logosunun-oykusu.aspx</link>
      <description>&lt;IMG alt=http://i-nz.net/wp-content/uploads/2009/01/google-chrome-logo.jpg src="http://i-nz.net/wp-content/uploads/2009/01/google-chrome-logo.jpg" align=middle&gt;</description>
      <pubDate>2009-01-27T06:35:08</pubDate>
    <feedburner:origLink>http://muratgenc.info/google-chrome-logosunun-oykusu.aspx</feedburner:origLink></item>
    <item>
      <title>Decorator pattern ikinci örnek</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/9PwIkHThOOs/decorator-pattern-ikinci-ornek.aspx</link>
      <description>&lt;p&gt;DoFactory.com Library   örneği.&lt;/p&gt;
&lt;p&gt;Kütüphanemizde şuanlık video ve   kitaplar yer almaktadır. İleride daha farklı nesnelerde yer alacaktır. Bunlara   ait temel bilgileri tutmak istiyoruz. Örneğin bir kitabın yazarı, adı bir video   için filmin yapımcısı, adı, süresi gibi bilgileri vb. Doğal olarak herbir   üründen elimizde kaçar tane olduğunuda bilmek istiyoruz ve bu değerinde ödünç    verildikçe verilen sayısı kadar azalmasını istiyoruz. Fakat ödünç verme işlemi   dışında satma, kiralama vb. birçok sistemide saha sonra entegre ediceğiz. Belki   ödünç verme sistemi tamamen ortadan da kalkabilir. Kütüphanemizdeki her ürününde   ödünç verilebilir diye bir özelliği olmamalı.&lt;/p&gt;
&lt;p&gt;Müşterinin gereksinimlerine   bakıldığında temel olarak stok bilgilerini tutmak istediğini  ve belli ürünlere   belli özellikler kazandırmak istediğini(şimdilik ödünç verilebilme)   görebiliyoruz. Eldeki mevcut nesnelere bakıldığında, değişiklik yapılmak istenen   nokta nesnenin stok sayısında farklılık olduğu görülebiliyor.  Hmm peki o zaman   bize nesnenin stok değerini tutacak ve o anki değeri gösterecek temel bir sınıf   lazım.&lt;/p&gt;
&lt;p&gt;&lt;img alt="http://muratgenc.info/Dp/LibraryItem.png" src="http://muratgenc.info/Dp/LibraryItem.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;

&lt;div style="font-family: Consolas; font-size: 10pt; color: black; background: #f0f0f0; font-weight: bold;"&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;abstract&lt;/span&gt; &lt;span style="color: #000096;"&gt;class&lt;/span&gt; &lt;span style="color: maroon;"&gt;LibraryItem&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #000096;"&gt;int&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt; { &lt;span style="color: #000096;"&gt;get&lt;/span&gt;; &lt;span style="color: #000096;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #000096;"&gt;abstract&lt;/span&gt; &lt;span style="color: #000096;"&gt;void&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;IronPython/Python
  &lt;/strong&gt;
 
&lt;/p&gt;
&lt;div style="font-family: Consolas; font-size: 10pt; color: black; background: #f0f0f0; font-weight: bold;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #000096;"&gt;class&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;LibraryItem&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;object&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;__init__&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;copies&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self__numberOfCopies&lt;/span&gt; = &lt;span style="color: red; font-weight: normal;"&gt;0&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;_getNumberOfCopies&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;return&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_LibraryItem__numberOfCopies&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;_setNumberOfCopies&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;value&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;__numberOfCopies&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;value&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;_delNumberOfCopies&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;pass&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;property&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;_getNumberOfCopies&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;_setNumberOfCopies&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;_delNumberOfCopies&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;pass&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Şimdide bu sınıfı kullanarak Video ve kitap nesnelerimizi oluşturalım.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://muratgenc.info/Dp/LibraryItemsvideobook.png" width="449" height="301" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;

&lt;div style="font-family: Consolas; font-size: 10pt; color: black; background: #f0f0f0; font-weight: bold;"&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;class&lt;/span&gt; &lt;span style="color: maroon;"&gt;Book&lt;/span&gt; : &lt;span style="color: maroon;"&gt;LibraryItem&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;private&lt;/span&gt; &lt;span style="color: #000096;"&gt;string&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;private&lt;/span&gt; &lt;span style="color: #000096;"&gt;string&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;author&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Book&lt;/span&gt;(&lt;span style="color: #000096;"&gt;string&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;author&lt;/span&gt;, &lt;span style="color: #000096;"&gt;string&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;, &lt;span style="color: #000096;"&gt;int&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;numCopies&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;this.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;author&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;author&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;this.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;this.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;numCopies&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #000096;"&gt;override&lt;/span&gt; &lt;span style="color: #000096;"&gt;void&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Console&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;WriteLine&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;"\nBook ------ "&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Console&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;WriteLine&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;" Author: {0}"&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;author&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Console&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;WriteLine&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;" Title: {0}"&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Console&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;WriteLine&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;" # Copies: {0}"&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;class&lt;/span&gt; &lt;span style="color: maroon;"&gt;Video&lt;/span&gt; : &lt;span style="color: maroon;"&gt;LibraryItem&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;private&lt;/span&gt; &lt;span style="color: #000096;"&gt;string&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;director&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;private&lt;/span&gt; &lt;span style="color: #000096;"&gt;string&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;private&lt;/span&gt; &lt;span style="color: #000096;"&gt;int&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;playTime&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Video&lt;/span&gt;(&lt;span style="color: #000096;"&gt;string&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;director&lt;/span&gt;, &lt;span style="color: #000096;"&gt;string&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;,&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;int&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;numCopies&lt;/span&gt;, &lt;span style="color: #000096;"&gt;int&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;playTime&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;this.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;director&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;director&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;this.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;this.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;numCopies&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;this.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;playTime&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;playTime&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #000096;"&gt;override&lt;/span&gt; &lt;span style="color: #000096;"&gt;void&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Console&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;WriteLine&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;"\nVideo ----- "&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Console&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;WriteLine&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;" Director: {0}"&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;director&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Console&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;WriteLine&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;" Title: {0}"&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Console&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;WriteLine&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;" # Copies: {0}"&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Console&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;WriteLine&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;" Playtime: {0}\n"&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;playTime&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;IronPython/Python&lt;/strong&gt;

&lt;/p&gt;
&lt;div style="font-family: Consolas; font-size: 10pt; color: black; background: #f0f0f0; font-weight: bold;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #000096;"&gt;class&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Book&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;LibraryItem&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;__init__&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;author&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;copies&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;__title&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;__author&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;author&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;copies&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;print&lt;/span&gt; &lt;span style="color: blue; font-weight: normal;"&gt;"\nBook ------ "&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;print&lt;/span&gt; &lt;span style="color: blue; font-weight: normal;"&gt;" Author: %s"&lt;/span&gt; % &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Book__author&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;print&lt;/span&gt; &lt;span style="color: blue; font-weight: normal;"&gt;" Title: %s"&lt;/span&gt; % &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Book__title&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;print&lt;/span&gt; &lt;span style="color: blue; font-weight: normal;"&gt;" # Copies: %s"&lt;/span&gt; % &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #000096;"&gt;class&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Video&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;LibraryItem&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;__init__&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;director&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;copies&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;playTime&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;__title&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;title&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;__director&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;director&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;copies&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;__playTime&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;playTime&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;print&lt;/span&gt; &lt;span style="color: blue; font-weight: normal;"&gt;"\nVideo ------ "&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;print&lt;/span&gt; &lt;span style="color: blue; font-weight: normal;"&gt;" Director: %s"&lt;/span&gt; % &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Video__director&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;print&lt;/span&gt; &lt;span style="color: blue; font-weight: normal;"&gt;" Title: %s"&lt;/span&gt; % &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Video__title&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;print&lt;/span&gt; &lt;span style="color: blue; font-weight: normal;"&gt;" # Copies: %s"&lt;/span&gt; % &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;print&lt;/span&gt; &lt;span style="color: blue; font-weight: normal;"&gt;" Playtime: %s\n"&lt;/span&gt; % &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Video__playTime&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Nesnelerimizi onlara has özellikleri de ekleyerek tamamladık. Şimdi amaç nesnelerin mevcut yapısına dokunmadan onlara ek yapmak. Herhalde artık bunun için ne kullanacağımızı biliyoruzdur. Çok sevdiğimiz decorator pattern bu noktada imdada yetişmek için hazır bekliyor. Peki pattern i uygulamak için ne yapmamız gerek? Öncelikle müşterinin ilk isteği (en azından şimdilik) bir kitap veya video ödünç verildiğinde stok değeri düşsün ve o andaki güncel bilgilerini göstersin.  Bunu gerçekleştirmek için yapmamız gereken bir decorator nesnesi oluşturmak tabiki nesnelerimizle aynı sınıfı miras almak ve içeride de ek işlevler kazandıracağı nesne olmalı(tabiki projemizde temel tip olan LibraryItem tipinde).&lt;/p&gt;
&lt;p&gt;&lt;img src="http://muratgenc.info/Dp/Librarydecorator.png" width="539" height="332" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;
 
&lt;/p&gt;
&lt;div style="font-family: Consolas; font-size: 10pt; color: black; background: #f0f0f0; font-weight: bold;"&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;abstract&lt;/span&gt; &lt;span style="color: #000096;"&gt;class&lt;/span&gt; &lt;span style="color: maroon;"&gt;Decorator&lt;/span&gt; : &lt;span style="color: maroon;"&gt;LibraryItem&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;protected&lt;/span&gt; &lt;span style="color: maroon;"&gt;LibraryItem&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Decorator&lt;/span&gt;(&lt;span style="color: maroon;"&gt;LibraryItem&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;this.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #000096;"&gt;override&lt;/span&gt; &lt;span style="color: #000096;"&gt;void&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;IronPython/Python&lt;/strong&gt;

&lt;/p&gt;
&lt;div style="font-family: Consolas; font-size: 10pt; color: black; background: #f0f0f0; font-weight: bold;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #000096;"&gt;class&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Decorator&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;LibraryItem&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;__init__&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;()&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Decorator nesnesi starbuzz örneğine nazaran herbir decorator nesnesinde ek yapacağı nesneyi tanımlaması yerine sadece temel tipte protected olarak tanımlanıyor.
  
  Sırada asıl sınıfımız,&lt;/p&gt;
&lt;p&gt;&lt;img src="http://muratgenc.info/Dp/LibraryLast.png" width="539" height="494" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;

&lt;/p&gt;
&lt;div style="font-family: Consolas; font-size: 10pt; color: black; background: #f0f0f0; font-weight: bold;"&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;class&lt;/span&gt; &lt;span style="color: maroon;"&gt;Borrowable&lt;/span&gt; : &lt;span style="color: maroon;"&gt;Decorator&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;protected&lt;/span&gt; &lt;span style="color: maroon;"&gt;List&lt;/span&gt;&lt;span style="color: #000096;"&gt;&amp;lt;string&amp;gt;&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowers&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #000096;"&gt;new&lt;/span&gt; &lt;span style="color: maroon;"&gt;List&lt;/span&gt;&lt;span style="color: #000096;"&gt;&amp;lt;string&amp;gt;&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Borrowable&lt;/span&gt;(&lt;span style="color: maroon;"&gt;LibraryItem&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;span style="color: #000096;"&gt;base&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #000096;"&gt;void&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;BorrowItem&lt;/span&gt;(&lt;span style="color: #000096;"&gt;string&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;name&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowers&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;Add&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;name&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt;&lt;span style="color: #000096;"&gt;--&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #000096;"&gt;void&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;ReturnItem&lt;/span&gt;(&lt;span style="color: #000096;"&gt;string&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;name&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowers&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;Remove&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;name&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt;&lt;span style="color: #000096;"&gt;++&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;public&lt;/span&gt; &lt;span style="color: #000096;"&gt;override&lt;/span&gt; &lt;span style="color: #000096;"&gt;void&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;base.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowers&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;ForEach&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;borrower&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color: maroon;"&gt;Console&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;WriteLine&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;" borrower : {0}"&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;borrower&lt;/span&gt;));&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;IronPython/Python&lt;/strong&gt;

&lt;/p&gt;
&lt;div style="font-family: Consolas; font-size: 10pt; color: black; background: #f0f0f0; font-weight: bold;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #000096;"&gt;class&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Borrowable&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;Decorator&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;__init__&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;__libraryItem&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;libraryItem&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;__borrowers&lt;/span&gt; = []&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;BorrowItem&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;name&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Borrowable__borrowers&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;append&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;name&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Borrowable__libraryItem&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Borrowable__libraryItem&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt; - &lt;span style="color: red; font-weight: normal;"&gt;1&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;ReturnItem&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;, &lt;span style="color: #0080c0; font-weight: normal;"&gt;name&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Borrowable__borrowers&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;remove&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;name&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Borrowable__libraryItem&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Borrowable__libraryItem&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;NumberOfCopies&lt;/span&gt; + &lt;span style="color: red; font-weight: normal;"&gt;1&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;def&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;):&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Borrowable__libraryItem&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;for&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;borrower&lt;/span&gt; &lt;span style="color: #000096;"&gt;in&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;self&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;_Borrowable__borrowers&lt;/span&gt;:&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #000096;"&gt;print&lt;/span&gt; &lt;span style="color: blue; font-weight: normal;"&gt;" borrower: %s"&lt;/span&gt; % &lt;span style="color: #0080c0; font-weight: normal;"&gt;borrower&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;ve sonuç&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;
 
&lt;/p&gt;
&lt;div style="font-family: Consolas; font-size: 10pt; color: black; background: #f0f0f0; font-weight: bold;"&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: gray;"&gt;// yeni bir kitap&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Book&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;book&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #000096;"&gt;new&lt;/span&gt; &lt;span style="color: maroon;"&gt;Book&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;"House M.D."&lt;/span&gt;, &lt;span style="color: blue; font-weight: normal;"&gt;"Patterns in Action"&lt;/span&gt;, &lt;span style="color: red; font-weight: normal;"&gt;10&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;book&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: gray;"&gt;// yeni bir video&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Video&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;video&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #000096;"&gt;new&lt;/span&gt; &lt;span style="color: maroon;"&gt;Video&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;"Spielberg"&lt;/span&gt;, &lt;span style="color: blue; font-weight: normal;"&gt;"Jaws"&lt;/span&gt;, &lt;span style="color: red; font-weight: normal;"&gt;23&lt;/span&gt;, &lt;span style="color: red; font-weight: normal;"&gt;92&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;video&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: gray;"&gt;// art&amp;#305;k video muz &amp;#246;d&amp;#252;n&amp;#231; al&amp;#305;nabilir.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Console&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;WriteLine&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;"\nMaking video borrowable:"&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: maroon;"&gt;Borrowable&lt;/span&gt; &lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowvideo&lt;/span&gt; &lt;span style="color: #000096;"&gt;=&lt;/span&gt; &lt;span style="color: #000096;"&gt;new&lt;/span&gt; &lt;span style="color: maroon;"&gt;Borrowable&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;video&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowvideo&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;BorrowItem&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;"Customer #1"&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowvideo&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;BorrowItem&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;"Customer #2"&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowvideo&lt;/span&gt;&lt;span style="color: #000096;"&gt;.&lt;/span&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;();&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Book ------
  Author: House M.D.
  Title: Patterns in Acti
  # Copies: 10
  
  Video -----
  Director: Spielberg
  Title: Jaws
  # Copies: 23
  Playtime: 92
  
  
  Making video borrowable:
  
  Video -----
  Director: Spielberg
  Title: Jaws
  # Copies: 21
  Playtime: 92
  
  borrower : Customer #1
  borrower : Customer #2
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
 &lt;p&gt;&lt;strong&gt;IronPython/Python
   &lt;/strong&gt;
 
&lt;/p&gt;
&lt;div style="font-family: Consolas; font-size: 10pt; color: black; background: #f0f0f0; font-weight: bold;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;book&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;Book&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;"Patterns in action"&lt;/span&gt;,&lt;span style="color: blue; font-weight: normal;"&gt;"House M.D."&lt;/span&gt;, &lt;span style="color: red; font-weight: normal;"&gt;10&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;book&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;video&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;Video&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;"Jaws"&lt;/span&gt;,&lt;span style="color: blue; font-weight: normal;"&gt;"Spielberg"&lt;/span&gt;,&amp;nbsp; &lt;span style="color: red; font-weight: normal;"&gt;23&lt;/span&gt;, &lt;span style="color: red; font-weight: normal;"&gt;92&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;video&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowvideo&lt;/span&gt; = &lt;span style="color: #0080c0; font-weight: normal;"&gt;Borrowable&lt;/span&gt;(&lt;span style="color: #0080c0; font-weight: normal;"&gt;video&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowvideo&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;BorrowItem&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;"Customer #1"&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowvideo&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;BorrowItem&lt;/span&gt;(&lt;span style="color: blue; font-weight: normal;"&gt;"Customer #2"&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #0080c0; font-weight: normal;"&gt;borrowvideo&lt;/span&gt;.&lt;span style="color: #0080c0; font-weight: normal;"&gt;Display&lt;/span&gt;()&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Book ------
  Author: House M.D.
  Title: Patterns in act
  # Copies: 10
  
  Video ------
  Director: Spielberg
  Title: Jaws
  # Copies: 23
  Playtime: 92
  
  
  Video ------
  Director: Spielberg
  Title: Jaws
  # Copies: 21
  Playtime: 92
  
  borrower: Customer #1
  borrower: Customer #2
&lt;/em&gt;&lt;/p&gt;</description>
      <pubDate>2008-10-09T19:06:46</pubDate>
    <feedburner:origLink>http://muratgenc.info/decorator-pattern-ikinci-ornek.aspx</feedburner:origLink></item>
    <item>
      <title>Neden decorator niye decorator ne zaman decorator</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/eO6XfwKMWbE/neden-decorator-niye-decorator-ne-zaman-decorator.aspx</link>
      <description>&lt;P&gt;Biliyorum hala diğer iki örneği F# versiyonları ile bekliyorsun. Daha çok bekleyeceksin desem ayıp olmaz herhalde :D&lt;/P&gt;
&lt;P&gt;Neyse, örnek yok ama sevgili decorator pattern in arkasından birkaç şey konuşabiliriz.&lt;/P&gt;
&lt;P&gt;Mesela, decorator ı kullanmadaki amacın neydi hatırlıyor musun?&lt;/P&gt;
&lt;P&gt;Hmmmmm&lt;/P&gt;
&lt;P&gt;Peki o zaman bir kez daha, decorator eğer bir nesneye dinamik olarak yeni sorumluluklar katacaksan tercih edebileceğin bir yöntemdir(Kısa ve öz).&lt;/P&gt;
&lt;P&gt;Hmm bir yöntemdir dedin. Diğer yolları bilmiyorsun galiba :P. O yüzden decorator da decorator diyorsun. Belki diğerleri daha çok ilgimi çeker :)&lt;/P&gt;
&lt;P&gt;Aslında bu tarz bir işlevi yerine getirmek içi tercih edilen bir yöntem daha var. Subclassing. Yani her yeni özellik için bi class tanımlayabilir ve onlara orjinal nesnene dahil edebilirsin. Böylece class hiyerarşini ikiye katlamış olursun. Halbuki sevgili decorator cığımı kullansan orjinal hiyerarşiyi değiştirmeden ekleyeceğin tek bir decorator sınıfı ile lineer olarak bu işi halledebilirsin. Ayrıca onun sayesinde kompleks işlemlerini küçük, basit parçalarada ayırabilirsin.&lt;/P&gt;
&lt;P&gt;O zaman sonuç olarak,&lt;/P&gt;
&lt;P&gt;Boyut ve sınıf hiyerarşisi açısından minimuma indirgenmiş bir yapı diyebilirmiyiz.&lt;/P&gt;
&lt;P&gt;Hıı birde şöyle bir sorunumuz var. En çok yapılan hatalardan biride diğer birkaç pattern le decorator ın karıştırılması veya yanlış anlamda uygulanması.&lt;/P&gt;
&lt;P&gt;Bunlardan ilki Adapter pattern, decorator bir nesnenin davranışını değiştirirken adapter ise interface i değiştirir.&lt;/P&gt;
&lt;P&gt;Chain of Responsibility, iletişim bir handler tarafından gerçekleştirilirken, &amp;nbsp;decorator da bu işlevi somut bir decorator nesnesi gerçekleştirir(StarBuzz örneğindeki CondimentDecorator).&lt;/P&gt;
&lt;P&gt;Composite, decorator yeni sorumluluklar ekleyebilirken, composite bunu asla gerçekleştiremez.&lt;/P&gt;
&lt;P&gt;Peki, neden şimdi bunları söyledinki. Üstelik bahsettiğin pattern ler hakkında hiçbirşey söylemedin ve bende varsayki bilmiyorum.&lt;/P&gt;
&lt;P&gt;Sadece zamanı gelince hatırla yeter :)&lt;/P&gt;
&lt;P&gt;Hadi sağlıcakla kal.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>2008-10-05T09:51:31</pubDate>
    <feedburner:origLink>http://muratgenc.info/neden-decorator-niye-decorator-ne-zaman-decorator.aspx</feedburner:origLink></item>
    <item>
      <title>Decorator pattern örnek uygulama</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/NAxbA-ayNF4/decorator-pattern-ornek-uygulama.aspx</link>
      <description>&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #fbfbfb"&gt;&lt;A href="http://muratgenc.info/decorator-patterne-kisa-bir-bakis.aspx" target=_BLANK&gt;Decorator pattern&lt;/A&gt; den azcık daolsa bahsetmiştik. Şimdi sıra örnek yapmaya geldi sanırım. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #fbfbfb"&gt;İlk olarak bu örnek Head First Design Patterns kitabındaki StarBuzz örneğidir. Baştan anlaşalım :). Tamamsa devamı geliyor.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #fbfbfb"&gt;Öncelikle hikayemiz.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #fbfbfb"&gt;Örnek(Head First Design Pattern – StarBuzz): &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #fbfbfb"&gt;Kafe miz sürekli büyüyen bir yapıya sahip. Bu büyüme beraberinde menüde de birçok değişiklik sağlamaktadır. İçecekler değişik alternatiflerle birleştirilerek verilebilir. Elimizde şuanlık HouseBlend, DarkRoast, Decaf ve Espresso adlı içecekler bulunmaktadır. Fakat bu içecekler sadece tekil olarak satıldığı gibi üzerlerine extra soslar(Milk, Mocha, Soy, Whip) ilave edilerekde satılabilmektedir. Sos karışımları ile içecekler birleştirildiğinde ise hem fiyat hemde ad değişmektedir. Örneğin müşteri sütlü ve mocha lı espresso isteyebilir. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #fbfbfb"&gt;Tasarım:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #fbfbfb"&gt;Herbir içeceğimizin bir adı ve fiyatı bulunmaktadır. Tek olarak olduğu gibi çeşitli soslarla karıştırılarak da verilebilir. Sos karışımları kullanıldığında orinal içeceğin fiyatına sos fiyatları ve oluşan yeni içeceğin adı oluşturulabilmeli. Örneğin Espresso muzun fiyatı 10, üzerine süt (1)eklendiğinde yeni içeceğin adı Sütlü Espresso olmalı fiyatıda 11 olarak oluşturulmalıdır. Bunu yaparken kesinlikle Espresso nun orijinal ad ve fiyatında değişiklik yapılmamalıdır. Yani oluşan yeni içecek Espresso dan bağımsız&amp;nbsp; fakat Espresso nun temel özelliklerini kullanıp onu geliştirmelidir. &lt;/FONT&gt;&lt;/P&gt;&lt;FONT style="BACKGROUND-COLOR: #fbfbfb"&gt;
&lt;P&gt;&lt;BR&gt;Burada temel iki nokta içeceğin adı ve fiyatındaki esneklik payı olmalıdır. Orjinali değiştirmeden yapılan değişikliklere cevap verebilmelidir. O zaman yapılması gereken orijinal nesneyi genişletecek ama koda müdahale etmeyecek aracı bir nesne. &lt;/P&gt;
&lt;P&gt;Genişletmeye açık olan ortak özellikleri bunların herbir içeceğin temel özellikleri olarak kabul edip soyut bir sınıf aoluşturuyoruz.&lt;BR&gt;&lt;IMG alt=beverage src="http://muratgenc.info/Dp/Beverage.png" align=middle&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;C#&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; BACKGROUND: #f0f0f0; COLOR: black; FONT-FAMILY: Consolas"&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;abstract&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;string&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;m_Description&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;"Unknown Beverage"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #b0b0b0"&gt;///&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #5e9a30"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #b0b0b0"&gt;&amp;lt;summary&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #b0b0b0"&gt;///&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #5e9a30"&gt; İçeceğin adı, tanımı.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #b0b0b0"&gt;///&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #5e9a30"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #b0b0b0"&gt;&amp;lt;/summary&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;virtual&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;string&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;m_Description&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;set&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;m_Description&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;value&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #b0b0b0"&gt;///&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #5e9a30"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #b0b0b0"&gt;&amp;lt;summary&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #b0b0b0"&gt;///&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #5e9a30"&gt; İçeceğin fiyatı.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #b0b0b0"&gt;///&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #5e9a30"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #b0b0b0"&gt;&amp;lt;/summary&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;abstract&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;double&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt; { &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt;; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;&lt;STRONG&gt;IronPython/Python&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; BACKGROUND: #f0f0f0; COLOR: black; FONT-FAMILY: Consolas"&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Beverage&lt;/SPAN&gt;:&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;" Herbir içecekde tanımlı olan fiyat ve ad "&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;def&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;getDescription&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;__class__&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;description&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;def&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;getCost&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;__class__&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;cost&lt;/SPAN&gt; &lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;Satışa sunulan 4 adet içeceğimizide bu temel sınıfdan miras alarak oluşturuyoruz.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG alt=http://muratgenc.info/Dp/Beverages.png src="http://muratgenc.info/Dp/Beverages.png"&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;C#&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; BACKGROUND: #f0f0f0; COLOR: black; FONT-FAMILY: Consolas"&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;DarkRoast&lt;/SPAN&gt; : &lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;DarkRoast&lt;/SPAN&gt;()&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;"Dark Roast Coffee"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;double&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt; { &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;.99&lt;/SPAN&gt;; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;Decaf&lt;/SPAN&gt; : &lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Decaf&lt;/SPAN&gt;()&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;"Decaf Coffee"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;double&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt; { &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;1.05&lt;/SPAN&gt;; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;Espresso&lt;/SPAN&gt; : &lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Espresso&lt;/SPAN&gt;()&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;"Espresso"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;double&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt; { &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;1.99&lt;/SPAN&gt;; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;HouseBlend&lt;/SPAN&gt; : &lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;HouseBlend&lt;/SPAN&gt;()&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;"House Blend Coffee"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;double&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt; { &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;.89&lt;/SPAN&gt;; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;&lt;STRONG&gt;IronPython/Python&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; BACKGROUND: #f0f0f0; COLOR: black; FONT-FAMILY: Consolas"&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;DarkRoast&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Beverage&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;cost&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;0.99&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;description&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;"Dark Roast Coffee"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Decaf&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Beverage&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;cost&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;1.05&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;description&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;"Decaf Coffee"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Espresso&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Beverage&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;cost&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;1.99&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;description&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;"Espresso"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;HouseBlend&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Beverage&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;cost&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;0.89&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;description&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;"HouseBlend Coffee"&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;İçeceklerimiz hazır. Elimizde de 3 adet sos var. Acaba herbir içeceğin mümkün olan üm soslarla karıştırılmış birer versiyonları olacak şekilde içecekleri oluştursak mı? Daha şimdiden tam bir class patlaması yaşayacağımız kesin gibi 4 adet içecek ve 4 adet sos için belki üşenmeden herbir varyasyon için bir sınıf oluşturulabilir ama açıklamada kafemizin sürekli bir gelişim içinde olduğunu belirtmiştik. Buda sürekli sos ve içecek sayımızın artacağı anlamına geliyor. Sanırım düşüncemizi hayata geçirmeden vazgeçsek fena olmaz. &lt;/P&gt;
&lt;P&gt;Örneğin müşterinin bizden mocha lı&amp;nbsp; ve sütlü espresso istediğini varsaysak. Böyle bir nesneyi nasıl oluşturabiliriz. İstenilen şeyi şemaya çeksek;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG alt=http://muratgenc.info/Dp/espressoWithMochaAndMilk.png src="http://muratgenc.info/Dp/espressoWithMochaAndMilk.png"&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Doğal olarak eklenen soslarında bir adı ve fiyatı vardır. Asıl nesnemiz espresso olmasına rağmen ortaya çıkan şey hem fiyat hemde ad anlamında artık bir espresso değildir. Demekki yeni bir nesne lazım ama yukarıda bunun olamayacağını söylemiştik ki zaten oluşan şey aslında tam olarak yeni bir nesne de değil sadece espresso saya yeni ekler yapılmış durumda. Aslında çizdiğimiz şema bize birşeyler anlatıyor. Yeni bir nesne türetmek yerine nesneleri sarmalasak(wrap) ve o nesneye ait genişletilmek istenen özellikleri asıl nesneye dokunmadan geliştirsek. Sanırım bahsettiğimiz şeyi decorator pattern olarak tanımlasak daha kolay olacak. Hmm kararımızı nesnelerin hiçbir özelliğine karışmayan dışardan, asıl nesnenin haberi bile olmadan ona yeni davranışlar ekleyen decorator pattern den kullandık. O zaman şu pattern in temel özelliklerini bir hatırlayalım. İhtiyacımız olan bir decorator nesnesi. Bizim tasarımımızda da soslarla içeceklere yeni özellikler katılmak istenmekde bu durumda pattern de decorator olarak tanımlanan ve birden fazla bulunabilen sınıf bizim projemizde herbir sos için kullanılabilir gibi. Ama bir şartı vardı sanki decorator olarak kullanılacak herbir nesne geliştirilmek istenilen nesne ile aynı sınıfdan veya interface den türemeliydi. Elimizde sanırım bu işlevi gerçekleştimek için hemde amacına uygun bir soyut sınıf var(Beverage).&lt;/P&gt;
&lt;P&gt;&lt;IMG alt=http://muratgenc.info/Dp/withCondiments.png src="http://muratgenc.info/Dp/withCondiments.png"&gt;&lt;/P&gt;
&lt;P&gt;Herbir sos CondimentDecorator adı verilen ve Beverage sınıfından miras alınan sınıfdan türetilmiş ve sarmaladığı(warp) Beverage dan türemiş bir nesneyi içinde barındırıyor. Barındırılan nesnenin fiyat ve ad özellikleri burada değiştirilip yeni ekler oluşturulabiliyor.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;C#&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; BACKGROUND: #f0f0f0; COLOR: black; FONT-FAMILY: Consolas"&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;abstract&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;CondimentDecorator&lt;/SPAN&gt; : &lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;Whip&lt;/SPAN&gt; : &lt;SPAN style="COLOR: maroon"&gt;CondimentDecorator&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Whip&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;this.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;string&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000096"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;", Whip"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;set&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;this.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;value&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;double&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;.10&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000096"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;Milk&lt;/SPAN&gt; : &lt;SPAN style="COLOR: maroon"&gt;CondimentDecorator&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Milk&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;this.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;string&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000096"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;", Milk"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;double&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;.10&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000096"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;Mocha&lt;/SPAN&gt; : &lt;SPAN style="COLOR: maroon"&gt;CondimentDecorator&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Mocha&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;this.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;string&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000096"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;", Mocha"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;double&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;.20&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000096"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;Soy&lt;/SPAN&gt; : &lt;SPAN style="COLOR: maroon"&gt;CondimentDecorator&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Soy&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;this.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;string&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000096"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;", Soy"&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;double&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;get&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;.15&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;+&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000096"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;&lt;STRONG&gt;IronPython/Python&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; BACKGROUND: #f0f0f0; COLOR: black; FONT-FAMILY: Consolas"&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;CondimentDecorator&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Beverage&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;def&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;__init__&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;, &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;component&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;def&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;getCost&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;component&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;getCost&lt;/SPAN&gt;() + &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Beverage&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;getCost&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;def&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;getDescription&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;component&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;getDescription&lt;/SPAN&gt;() + &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;' '&lt;/SPAN&gt; + &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Beverage&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;getDescription&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;) &lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Milk&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;CondimentDecorator&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;cost&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;0.10&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;description&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;", Milk"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;def&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;__init__&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;, &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;component&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;CondimentDecorator&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;__init__&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;,&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;component&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Whip&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;CondimentDecorator&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;cost&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;0.10&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;description&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;", Whip"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;def&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;__init__&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;, &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;component&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;CondimentDecorator&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;__init__&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;,&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;component&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Mocha&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;CondimentDecorator&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;cost&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;0.20&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;description&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;", Mocha"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;def&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;__init__&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;, &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;component&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;CondimentDecorator&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;__init__&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;,&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;component&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #000096"&gt;class&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Soy&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;CondimentDecorator&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;cost&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: red"&gt;0.15&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;description&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;", Soy"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000096"&gt;def&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;__init__&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;, &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;component&lt;/SPAN&gt;):&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;CondimentDecorator&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;__init__&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;self&lt;/SPAN&gt;,&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;component&lt;/SPAN&gt;)&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;&amp;nbsp;Herşey hazır artık şu sütlü ve mocha lı espresso muzdan sipariş edip decorator pattern olmasa idi ne yapardık onu düşünelim :D&lt;/P&gt;
&lt;P lang=zxx style="MARGIN-BOTTOM: 0cm; TEXT-DECORATION: none" align=justify&gt;&lt;FONT color=#000000&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;C#&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; BACKGROUND: #f0f0f0; COLOR: black; FONT-FAMILY: Consolas"&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: maroon"&gt;Beverage&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;Espresso&lt;/SPAN&gt;();&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;Mocha&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;);&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000096"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;Milk&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;);&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: maroon"&gt;Console&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000096"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;WriteLine&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000096"&gt;string.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Format&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;"Sipariş : {0} -- borcunuz : {1} YTL"&lt;/SPAN&gt;,&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000096"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Description&lt;/SPAN&gt;,&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000096"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Cost&lt;/SPAN&gt;));&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;&lt;FONT color=black&gt;&lt;STRONG&gt;Sipariş : Espresso, Mocha, Milk -- borcunuz : 2,29 YTL&lt;/STRONG&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;IronPython/Python&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; BACKGROUND: #f0f0f0; COLOR: black; FONT-FAMILY: Consolas"&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Espresso&lt;/SPAN&gt;()&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Milk&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt; = &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;Mocha&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;)&lt;/P&gt;
&lt;P style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: #000096"&gt;print&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: normal; COLOR: blue"&gt;"Sipariş : %s borcunuz : %s"&lt;/SPAN&gt; % (&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;getDescription&lt;/SPAN&gt;(), &lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;beverage&lt;/SPAN&gt;.&lt;SPAN style="FONT-WEIGHT: normal; COLOR: #0080c0"&gt;getCost&lt;/SPAN&gt;()) &lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;!--EndFragment--&gt;&lt;STRONG&gt;Sipariş :&amp;nbsp;Espresso , Milk , Mocha borcunuz : 2,2900&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;İlk olarak asıl içmek istediğimiz espresso nesnesi oluşturuluyor fakat dikkat edilirse Espresso nesnesinden değil türediği Beverage nesnesinden. Daha sonra eklemek istenilen soslar sıra ile espresso nesnesi üzerinden türetiliyorve herbirine geçirilen Beverage nesnesi parametresi ilede bir önceki nesne yeni oluşturulanın içine dahil ediliyor ve istenilen fiyat ve ad özelliklerine ekler yapılıyor.&lt;/P&gt;
&lt;P&gt;&lt;IMG alt=http://muratgenc.info/Dp/smMocha.png src="http://muratgenc.info/Dp/smMocha.png"&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Bunun peşine birde Gang of Four dan bir örneğimiz var. Hmm pardon. Ee hani F# örneği. :) unutmazmısın&amp;nbsp;hiçbirşeyi. Tamam, sen şunları bir sindir bakalım bende bir ara yazarım F#(umarım) örneğini&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT size=2&gt;Not: Sevgili Python uzmanları, Python örneğinin daha iyi modellerini bekliyorum :).&lt;BR&gt;&lt;/FONT&gt;&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;</description>
      <pubDate>2008-10-01T14:27:47</pubDate>
    <feedburner:origLink>http://muratgenc.info/decorator-pattern-ornek-uygulama.aspx</feedburner:origLink></item>
    <item>
      <title>Decorator pattern e kısa bir bakış</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/vVvIlKP2EDk/decorator-patterne-kisa-bir-bakis.aspx</link>
      <description>&lt;P&gt;&lt;A href="http://muratgenc.info/design-patterns-serisi.aspx" target=_BLANK&gt;Design patterns serisi&lt;/A&gt; kapsamında decorator pattern e hızlı bir bakış atıcağız.(cidden çok hızlı olacak)&lt;/P&gt;
&lt;P&gt;Amaç : Teorik ve gerçek uygulamalar üzerinde decorator pattern i sevdirmek :)&lt;/P&gt;
&lt;P&gt;Tabiki ilk olarak temel bir açıklama yapmak lazım dimi.&lt;/P&gt;
&lt;P&gt;Decorator pattern bildiğimiz gibi structural patterns grubunda yer alıyor. Yani? yanisi şu bu gruptaki pattern ler nesnelerin birbirleriyle nasıl bir davranış içinde olması gerektiğini tanımlamak için kullanılıyor. O zaman diğerlerini bir özet geçsek hani başlık halinde. Hmm çok şey istiyorsun ama hadi bu seferlik olsun.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Mevcut bir nesneye yeni bir fonksiyon eklemek veya kaldırmak için (Decorator)&lt;/LI&gt;
&lt;LI&gt;Bir nesneden diğerlerine erişimi yönetme, gereksinim halinde geniş nesneleri oluşturmada(Proxy)&lt;/LI&gt;
&lt;LI&gt;Bir componentin geliştirilme sürecinden bağımsız olarak arayüz ve uygulamaya müdahalenin mümkün kılınması, çalışma zamanında implementation u seçme, değiştirme (Bridge)&lt;/LI&gt;
&lt;LI&gt;Birbirine uyuşmayan interface lerin eşleştirilmesinde (Adapter)&lt;/LI&gt;
&lt;LI&gt;Çok sayıda çok küçük nesnelerle çalışma sonucu oluşacak performans kaybını azaltmak için (Flywieght)&lt;/LI&gt;
&lt;LI&gt;Bir sistemi tanımlanabilir katmanlarla tekbir giriş noktasından alt sistemlere ayırmak, arayüzü kompleks alt sistemlere ayırma (Façade)&lt;/LI&gt;
&lt;LI&gt;Nesneleri tek tek işlemek yerine onların birleştirilmesi&amp;nbsp;ve tek bir arayüzden erişim(Composite)&lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Ben bunlardan pek birşey anlamadım? . Hmm, amaç zaten anlaman değil merak etmeni sağlayıp, kafanı karıştırmak. Efendim?. Hıı, yok birşey evet evet biraz temel oldu ama ilerde hepsi netlik kazanır umarım :) . Artık structural(yapısal) pattern ler için en azından küçük bir kıvılcım oluşmuştur diye düşünmek istiyorum ama açıkçası inanmmıyorum. Neyse konumuza dönelim decorator dı galiba? . Ooo süper takip ediyorsun demek, gözlerim yaşardı heran ağlayabilirim. Lütfen biraz ciddiyet. Pardon :(&lt;/P&gt;
&lt;P&gt;Dinamik olarak bir nesneye yenibir durum veya davranış eklemek için kullanılır. Nesne yeni özellikler kazandığının farkında değildir. Geliştirmeye açık sistemler için idealdir.&lt;/P&gt;
&lt;P&gt;Decorator pattern, nesneyi alır ve üzerine eklemeleri yapar, orijinal nesne hiçbirzaman bu değişikliklerin farkında olmaz, class üzerinde çok büyük köklü değişiklikler olmaz, her nesne için yapılan eklemeler birbirinden bağımsızdır.&lt;/P&gt;
&lt;P&gt;Örneğin, bir resimin üzerinde yeni bir şeyler eklenmek istendiğinde(border, yazı vb.) orijinal resim korunur ve onun bir kopyası üzerinde eklemeler yapılır. Böylece yapılan değişikliklerden bağımsız bir resimimiz ve üzerinde çok farklı değişiklikler yapılmış sınırsız sayıda farklı resimimiz olabilir.&lt;/P&gt;
&lt;P&gt;Birde class diagram ını gösterelim dimi(sanki hiçbiryerde yokda, bulunmaz nimet)&lt;/P&gt;
&lt;P&gt;&lt;IMG alt=decorator src="http://muratgenc.info/Dp/decoratorGeneral.png"&gt;&lt;/P&gt;
&lt;P&gt;Eee hani örnek, bekle bekle bunun içinmiydi oooo işimiz var. Sabır bu işte en önemli faktördür :D. Tabiki örneksiz olurmu asıl amacımız o zaten. Ama birazcık bekleteceğiz. Örnek olarak çok sevidğim &lt;EM&gt;Head First Design Pattern &lt;/EM&gt;kitabından StarBuzz örneği, Gang of Four un Library örneği ve birde sürpriz bir örnek(tamam tamam henüz ne olacağını kararlaştırmadım daha).&lt;/P&gt;
&lt;P&gt;Neyse sağlıcakla kal. &lt;A href="http://muratgenc.info/decorator-pattern-ornek-uygulama.aspx"&gt;Örnekler &lt;/A&gt;için burda olmayı unutma.&lt;BR&gt;&lt;/P&gt;</description>
      <pubDate>2008-10-01T09:01:39</pubDate>
    <feedburner:origLink>http://muratgenc.info/decorator-patterne-kisa-bir-bakis.aspx</feedburner:origLink></item>
    <item>
      <title>Özet olarak class diagramları</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/l_rTTkJL26c/ozet-olarak-class-diagramlari.aspx</link>
      <description>&lt;P&gt;&lt;A href="http://muratgenc.info/design-patterns-serisi.aspx"&gt;Design patterns serisi&lt;/A&gt;&amp;nbsp;kapsamında ilk yazı. Amaç UML i veya class diagramları anlatmak değil(ki her ne kadar aksini iddia edicek kişiler olsada bu konuları birkaç satırla veya 1-2 günle anlatmak tamamen gereksiz zaman kaybından başka birşey değildir. Uygulamadan, gerçek bir senaryo üzerinde çalışmadıktan sonra tüm yazılanlar, anlatılanlar öldürülmüş boş zamanlardan öteye geçmez ki buda benim görüşüm :D ) sadece diagramda kullanılan şekillerin ne ifade ettiklerini belirtmektir. &lt;/P&gt;
&lt;P&gt;Çok gerekli ise eğer benim kullandığım UML tool u &lt;A href="http://www.sparxsystems.com.au/products/ea/index.html" target=_BLANK&gt;Enterprise Architect&lt;/A&gt;&amp;nbsp;maalesef ücretsiz değildir. İsterseniz&amp;nbsp;&lt;A href="http://www.objectsbydesign.com/tools/umltools_byCompany.html" target=_BLANK&gt;buradan &lt;/A&gt;&amp;nbsp;birtane seçebilirsiniz.&lt;/P&gt;
&lt;P&gt;UML i&amp;nbsp;o kadar çok merak ediyorsanız. &lt;A href="http://en.wikipedia.org/wiki/Unified_Modeling_Language" target=_BLANK&gt;Burdan&lt;/A&gt;&amp;nbsp;veya &lt;A href="http://tr.wikipedia.org/wiki/UML" target=_BLANK&gt;burdan&lt;/A&gt;&amp;nbsp;temel bilgileri edinebilirsiniz.&lt;/P&gt;
&lt;P&gt;Class diagramlarında ne neyi ifade ediyor&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style="BORDER-RIGHT: gray 1px solid; BORDER-TOP: gray 1px solid; BORDER-LEFT: gray 1px solid; BORDER-BOTTOM: gray 1px solid" cellSpacing=0 cols=3 cellPadding=0 width=%100 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;Class&lt;/TD&gt;
&lt;TD vAlign=top align=middle&gt;&lt;IMG alt="class diagram" src="http://muratgenc.info/Dp/cd.png"&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Class ları temsil etmektedir. İlk satır attribute leri ikinci satır ise methodları göstermek için kullanılır.&lt;/P&gt;
&lt;P&gt;+ public&lt;/P&gt;
&lt;P&gt;- private&lt;/P&gt;
&lt;P&gt;# protected&lt;/P&gt;
&lt;P&gt;temsil etmektedir.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;Interface&lt;/TD&gt;
&lt;TD align=middle&gt;&lt;IMG alt=interface src="http://muratgenc.info/Dp/interface.png"&gt;&lt;/TD&gt;
&lt;TD vAlign=top&gt;interface, abstract sınıflar içinde kullanılabilir.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;Note&lt;/TD&gt;
&lt;TD align=middle&gt;&lt;IMG alt=note src="http://muratgenc.info/Dp/desc.png"&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;Package&lt;/TD&gt;
&lt;TD align=middle&gt;&lt;IMG alt=package src="http://muratgenc.info/Dp/pack.png"&gt;&lt;/TD&gt;
&lt;TD vAlign=top&gt;Class ve interface grupları&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;Inheritance&lt;/TD&gt;
&lt;TD vAlign=top align=middle&gt;&lt;IMG alt=inheritance src="http://muratgenc.info/Dp/inh.png"&gt;&lt;/TD&gt;
&lt;TD vAlign=top&gt;B, A yı miras alıyor.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;Realization&lt;/TD&gt;
&lt;TD vAlign=top align=middle&gt;&lt;IMG alt=realization src="http://muratgenc.info/Dp/real.png"&gt;&lt;/TD&gt;
&lt;TD vAlign=top&gt;B,&amp;nbsp; IA yı uyguluyor. &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;Association&lt;/TD&gt;
&lt;TD vAlign=top align=middle&gt;&lt;IMG alt=association src="http://muratgenc.info/Dp/ass1.png"&gt;&lt;/TD&gt;
&lt;TD vAlign=top&gt;C ve D birbirlerini çağırabilir. Birbirlerinin elemanlarına erişim sağlayabilir.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=150&gt;Association(one way)&lt;/TD&gt;
&lt;TD vAlign=top align=middle&gt;&lt;IMG alt=association src="http://muratgenc.info/Dp/ass2.png"&gt;&lt;/TD&gt;
&lt;TD vAlign=top&gt;E, F yi çağırabilir ve elemanlarına erişim sağlayabilir. F bunları yapamaz.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;Aggregation&lt;/TD&gt;
&lt;TD vAlign=top align=middle&gt;&lt;IMG alt=aggregation src="http://muratgenc.info/Dp/agg.png"&gt;&lt;/TD&gt;
&lt;TD vAlign=top&gt;G, bir tane H barındırır. H, G dışındada sistem içinde kullanılabilir.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;Composition&lt;/TD&gt;
&lt;TD vAlign=top align=middle&gt;&lt;IMG alt=composition src="http://muratgenc.info/Dp/com.png"&gt;&lt;/TD&gt;
&lt;TD vAlign=top&gt;K bi tane L barındırır. L, K dan bağımsız olarak kullanılamaz.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;</description>
      <pubDate>2008-09-29T05:49:19</pubDate>
    <feedburner:origLink>http://muratgenc.info/ozet-olarak-class-diagramlari.aspx</feedburner:origLink></item>
    <item>
      <title>Design Patterns Serisi</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/asjNpZonvUQ/design-patterns-serisi.aspx</link>
      <description>&lt;P&gt;Çok uzun zamandır &lt;A href="http://en.wikipedia.org/wiki/Design_Patterns" target=_BLANK&gt;design patterns &lt;/A&gt;üzerine yazmak istiyordum ama tembellikten fırsat gelmiyordu :D&lt;/P&gt;
&lt;P&gt;Neyse bu sefer başlıyor.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Örnekleri C#3.0, IronPython ve de becerebilirsem F# (aaa F# functional programming dili değilmiydi? Cvp: F# ile hangi programlama paradigmasında yazmak isterseniz onla yazabilirsiniz.) ile yazacağım.&lt;/P&gt;
&lt;P&gt;İzleyeceğimiz sıra&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1-&lt;A href="http://muratgenc.info/ozet-olarak-class-diagramlari.aspx"&gt;UML(Class diagramları)&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2-Structural Patterns&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;&lt;A href="http://muratgenc.info/decorator-patterne-kisa-bir-bakis.aspx"&gt;Decorator&lt;/A&gt;, &lt;A href="http://muratgenc.info/decorator-pattern-ornek-uygulama.aspx" target=_BLANK&gt;Örnek 1(StarBuzz, Head First Design Patterns)&lt;/A&gt;, &lt;A href="http://muratgenc.info/decorator-pattern-ikinci-ornek.aspx" target=_BLANK&gt;Örnek 2(Library, dofactory.com)&lt;/A&gt;&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Proxy&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Bridge&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Composite&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Flyweight&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Adapter&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Façade&lt;/EM&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;3-Creational Patterns&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Prototype&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Factory Method&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Singleton&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Abstract Factory&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Builder&lt;/EM&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;4-Behavioral Patterns&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Strategy&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;State&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Template Method&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Chain of Responsibility&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Command&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Iterator&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Mediator&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Observer&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Visitor&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Interpreter&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Memento&lt;/EM&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT size=2&gt;Not: İçerik sırası, sunulan içerik ve örnekler tamamıyle&amp;nbsp;kendi şahsıma ait olmayacaktır. Piyasada mevcut olarak yer alan geçerliliğini kanıtlamış kitaplardan(örn: &lt;/FONT&gt;&lt;A href="http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612" target=_BLANK&gt;&lt;FONT size=2&gt;Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt;) ve bu konu hakkında yazılmış çeşitli yazıların derlenmesinden oluşacaktır.&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>2008-09-29T01:24:48</pubDate>
    <feedburner:origLink>http://muratgenc.info/design-patterns-serisi.aspx</feedburner:origLink></item>
    <item>
      <title>JQuery ve Microsoft</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/b_P3nmnWQSM/juery-aspnet.aspx</link>
      <description>&lt;P&gt;Microsoft is going to make jQuery part of the official dev platform.&lt;/P&gt;
&lt;P&gt;diye başlayıp devamını kaynağından öğrenmek için size bırakıyorum :)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx" target=_BLANK&gt;JQuery and Microsoft&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/" target=_BLANK&gt;JQuery, Microsoft and Nokia&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.hanselman.com/blog/jQuerytoshipwithASPNETMVCandVisualStudio.aspx" target=_BLANK&gt;jQuery to ship with ASP.NET MVC and Visual Studio&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>2008-09-29T00:45:48</pubDate>
    <feedburner:origLink>http://muratgenc.info/juery-aspnet.aspx</feedburner:origLink></item>
    <item>
      <title>Asp,Net ve IronPython kardeşliği güncellendi</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/8L56zQOfU0g/asp-net-ve-ironpython-kardesligi-guncellendi.aspx</link>
      <description>&lt;P&gt;July 2007 Asp.Net Futures paketi ile birlikte gelen Asp.Net için IronPython desteği nihayet güncellendi.&lt;/P&gt;
&lt;P&gt;Artık adı &lt;EM&gt;&lt;STRONG&gt;ASP.NET Dynamic Language Support.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Yeni pakette bizleri 3 kısım bekliyor.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;IronPython webform örneği&lt;/LI&gt;
&lt;LI&gt;IronPython için Asp.Net&amp;nbsp;MVC örneği&lt;/LI&gt;
&lt;LI&gt;Asp.Net DLR dökümantasyon&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;Artık denemesi size kalmış, almak isterseniz &lt;A href="http://www.codeplex.com/aspnet/Wiki/View.aspx?title=Dynamic%20Language%20Support&amp;amp;referringTitle=Home" target=_BLANK&gt;buyrun&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>2008-09-25T05:07:36</pubDate>
    <feedburner:origLink>http://muratgenc.info/asp-net-ve-ironpython-kardesligi-guncellendi.aspx</feedburner:origLink></item>
    <item>
      <title>i=InLikeWithYou; i.Time&amp;lt;forever; happy=u+i</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/QbgEUdn_f8o/iinlikewithyou-i-dot-timeltforever-happyu-plus-i.aspx</link>
      <description>&lt;p&gt;&lt;embed src="http://blip.tv/play/AcGSAQA" width="550" height="280" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;And they say we geeks cannot express our feelings ...&lt;/p&gt;&lt;/embed&gt;</description>
      <pubDate>2008-09-21T14:34:09</pubDate>
    <feedburner:origLink>http://muratgenc.info/iinlikewithyou-i-dot-timeltforever-happyu-plus-i.aspx</feedburner:origLink></item>
    <item>
      <title>Hug a developer today</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/RbogIktBjG8/hug-a-developer-today.aspx</link>
      <description>&lt;P&gt;&lt;A href="http://blip.tv/scripts/flash/showplayer.swf?file=http://blip.tv/rss/flash/1067270" target=_BLANK&gt;Developers everywhere are in terrible pain.&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>2008-09-01T07:02:58</pubDate>
    <feedburner:origLink>http://muratgenc.info/hug-a-developer-today.aspx</feedburner:origLink></item>
    <item>
      <title>Microsoft StyleCop 4,3</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/hjx-kVfnhKg/style-cop-4-3.aspx</link>
      <description>&lt;P&gt;StyleCop'&amp;nbsp;ın yeni versiyonu &lt;A href="http://blogs.msdn.com/sourceanalysis/" target=_BLANK&gt;geliştiricileri&lt;/A&gt; tarafından görücüye çıkarıldı.&lt;/P&gt;
&lt;P&gt;Bu versiyonda birkaç bug temizlenirken bunun yanında yeni kurallar ve dökümantasyonda değişiklikler gerçekleştirildi.&lt;/P&gt;
&lt;P&gt;Data detaylı açıklama için &lt;A href="http://blogs.msdn.com/sourceanalysis/archive/2008/08/19/stylecop-4-3-is-released.aspx" target=_BLANK&gt;buraya&lt;/A&gt;&amp;nbsp;, ben direkt indireyim diyenler için &lt;A href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sourceanalysis&amp;amp;ReleaseId=1425" target=_BLANK&gt;buraya&lt;/A&gt; tıklamanız yeterlidir.&lt;/P&gt;</description>
      <pubDate>2008-08-21T05:55:51</pubDate>
    <feedburner:origLink>http://muratgenc.info/style-cop-4-3.aspx</feedburner:origLink></item>
    <item>
      <title>Dinamik diller için dinamik ortam DLR</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/haJPZvpIRtI/dinamik-diller-icin-dinamik-ortam-DLR.aspx</link>
      <description>&lt;p&gt;.Net Framework ün temelini bildiğimiz gibi CLR oluşturmaktadır. CLR, IL kodlarına derlenmiş programlarını çalıştırmakla yükümlüdür. Herhangibir dille yazılırsa yazılsın CLR için IL koduna çevrilmiş olması yeterlidir. C# ve Vb.Net statik dil olmalarına karşın Python dinamik bir dildir. Peki şu dinamik dillerin geliştiricilere ne tür kolaylıklar getirdiğine bir bakalım.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;.Net üzerinde dinamik diller ve DLR&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;IronPython ın ilk versiyonu CLR üzerinde çalışmaktaydı. Jim Hugunin IronPython ile CLR in dinamil diller için çok kötü bir ortam olduğunu ispatladı. İkinci versiyonla birlikte, tüm dinamik dilleride içinde barındırabilecek yeni bir platform geliştirildi DLR. Böylece Microsoft birçok dinamik dili .Net bünyesine katmak için çok büyük bir atılım yaptı.&lt;/p&gt;
&lt;p&gt;Peki neden CLR kötü bir ortamdı ve neden DLR gibi yeni bir ortama ihtiyaç duyuldu?&lt;/p&gt;
&lt;p&gt;Öncelikle dinamik dillerde tip tanımına ihtiyaç duyulmamaktadır. Hatta daha sonradan nesnenin temsil ettiği tipi değerini değitirerecek farklılaştırabilirsiniz. En önemli konulardan biri ise çalışma zamanında nesneleri irdeleyebilir ve değiştireilirsiniz.&lt;/p&gt;
&lt;p&gt;Statik dillerde methodları derlendikten sonra çağırabilirken, Python ile dinamik olarak erişim sağlayıp, davranışlarını kolayca değiştirebilirsiniz.&lt;/p&gt;
&lt;p&gt;Statik dillerde herbir nesnenin tipinin belirtilmesi zorunlu olup eğer tanım yapılmazsa derleyici tarafından güzel bir uyarı alırsınız :D. &lt;/p&gt;
&lt;p&gt;Her ne kadar dinamik diller için tip tanımına gerek duyulmuyor desekde aslında her nesne bir tipe sahiptir. Gidipte bir metin ifadesi ile bir sayıyı toplayamazsınız. Peki fark nerede? Python yorumlayıcısı nesnelerin tiplerini onlara gereçekten ihtiyaç duyulmadıkça kontrol etmez (Ki statik dillerde bu işlem nesnenin tanımında gerçekleşmektedir ve eğer geçersiz bir durumla karşılaşılırsa da compiler tarafından derleme işlemi gerçekleştirilmez.). &lt;/p&gt;
&lt;p&gt;IronPython geliştiricileri, Python vb. dinamik diller için herbirine ayrı ortamlar yaratmak yerine tekbir çatı altında tekbir temel tip düzeninde olabilecekleri, yeni dillerin rahatlıkla entegre edilebileceği DLR ı geliştirdiler.&lt;/p&gt;</description>
      <pubDate>2008-08-19T17:48:26</pubDate>
    <feedburner:origLink>http://muratgenc.info/dinamik-diller-icin-dinamik-ortam-DLR.aspx</feedburner:origLink></item>
    <item>
      <title>Statikten dinamiğe</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/7Pou7EnwvZI/statikten-dinamige.aspx</link>
      <description>&lt;p&gt;.Net programcıları için IronPython tamamiyle yeni bir dil. Programlama da yeni stillerle tanışacakları, dinamik programla dillerinini güç ve esnekliği ile tanışabilecekleri muhteşem bir ortam(Tabi daha önce Ruby, Python vb dinamik dillerle çalışmadığınızı varsayarsak).&lt;/p&gt;
&lt;p&gt;IronPython tam bir .Net dili. Platforma ait tüm özellikleri kullanmanız mümkün. .Net ile bildiğiniz herşeyi uygulayabilmeniz mümkün. &lt;/p&gt;
&lt;p&gt;.Net in tüm özelliklerini be zaten favori statik dillerimlede(C#,Vb.Net) kullanabiliyorum ki. Ne diye gidip yeni bir maceraya atılayım. Bana sebep göster...&lt;/p&gt;
&lt;p&gt;Tamam IronPython yeni olabilir. Ama Python olgun ve stabil bir dildir. Temel amaç herşeyi mümkün olduğunca kolay gerçekleştirmek. Daha az ama daha okunur kod. &lt;/p&gt;
&lt;table width="535px" border="0"&gt;
  &lt;tr&gt;
    &lt;td&gt;C# ile klasik merhaba dünya :D&lt;/td&gt;
    &lt;td&gt;ve Python ile merhaba dünya&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td valign="top"&gt;&lt;p&gt;&lt;img src="img/csHelloWorld.png" width="295" height="416" /&gt;&lt;/p&gt;
    &lt;/td&gt;
    &lt;td valign="top"&gt;&lt;p&gt;&lt;img src="img/pyHelloWolrd.png" width="230" height="116" /&gt;&lt;/p&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Yukarıdada görüldüğü gibi C# derleyicisinin gönlünü hoş tutabilmek için ne kadar extra kod yazmamız gerektiği. Süslü parantezler, noktalı virgüller, tip tanımlamaları hepsi kodun okunabilirliğini azaltıyor. Aynı örneğin Python versiyonunda ise herşey kısa ve öz. Tamam bu kadar basit bir örnekle karşılaştırma yapmak doğru değil bu sadece adı da üstünde bir örnek :D. İlerde Python ı incelediğimizde umarım daha net farkı ortaya koyabiliriz.&lt;/p&gt;
&lt;p&gt;Eğer uygulamanız için bir scripting dili geliştirecekseniz sizin için hazır, kolay ve güçlü bir seçenek var, IronPython. IronPython geliştirilme aşamasında tasarlanış şekli itibariyle uygulamalarınızın içine entegrasyonu çok kolaydır(Zamanı gelince :D. Zaten en çok kullanım yerimiz bu olacak.).&lt;/p&gt;</description>
      <pubDate>2008-08-17T16:06:08</pubDate>
    <feedburner:origLink>http://muratgenc.info/statikten-dinamige.aspx</feedburner:origLink></item>
    <item>
      <title>Python dan başka dil tanımam hani şu .Net i bi test etsem diyenlere</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/Q7v3XnH9eIw/pythondan-baska-dil-tanimam-hani-su-neti-bi-test-etsem.aspx</link>
      <description>&lt;p&gt;Python geliştricisi iseniz .Net deneyimi yaşamınız için IronPython bulunmaz bir fırsat. Daha önce de bahsettiğim gibi IronPython tamamen Python 2.5 (2 verisyonunda) temel alınarak geliştirilmiştir.&lt;/p&gt;
&lt;p&gt;Eee, güzelim Python dururken ne diye şimdi IronPython kullanıyımki. Cevap aslında çok basit platform. IronPython la birlikte tüm geniş .Net framework e(tıpki muhteşem Python standart kütüphanesi gibi :D ) erişim sağlamış olacağız. Ve tabiki CLR.&lt;/p&gt;
&lt;p&gt;CLR mi hmm devam et.&lt;/p&gt;
&lt;p&gt;CLR, tamamen hız ve stabilite için sizin yerinize çalışır. Örneğin çok kanallı uygulamalarda(Multithreaded) multiple processor lerden maximum faydayı sağlar. Bu tarz işlemlerde performans için extra hiçbirşey yapmaya gerek yokken CPython uygulamalarında bu gerçekleştirilemez(GIL(&lt;a href="http://en.wikipedia.org/wiki/Global_Interpreter_Lock" target="_blank"&gt;Global Interpreter Lock&lt;/a&gt;)). IronPython a C# kullanarak rahatlıkla yeni özellikler katabilirsiniz bunu CPythona C ile gerçekleştimekten daha kolay bir şekilde.&lt;/p&gt;
&lt;p&gt;IronPython ın .Net sınıflarına hiçbir müdahale gerektirmeden doğrudan erişim sağlaması, Python programcıları için büyük kolaylık sağlayacak, rahatlıkla kullanıcı arayüzleri oluşturabilecekleri Windows Form ve WPF ye erişim sağlayıp etkileyici arayüzler oluşturabilecekler.&lt;/p&gt;
&lt;p&gt;Avantajlar bu kadarmı. Tabiki değil. Fakat şu tanıtım kısımlarını fazla uzun tutmadan biran önce atraksiyona mı geçsek. Ihh daha değil :D&lt;/p&gt;
&lt;p&gt;Birde ben .Net ciyim C#(Vb.Net) ten başka dil bana gereksiz diyenler açısından bir bakalım.&lt;/p&gt;</description>
      <pubDate>2008-08-17T04:03:46</pubDate>
    <feedburner:origLink>http://muratgenc.info/pythondan-baska-dil-tanimam-hani-su-neti-bi-test-etsem.aspx</feedburner:origLink></item>
    <item>
      <title>Python la daha dinamik bir dünya için</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/dTzYjgikSZc/pythonla-daha-dinamik-bir-dunya-icin.aspx</link>
      <description>&lt;p&gt;&lt;strong&gt;Python la daha dinamik bir dünya için&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Bir önceki  &amp;quot;&lt;a href="gune-yeni-bir-dille-baslamak.aspx" target="_blank"&gt;Güne yeni bir dille başlamak&lt;/a&gt;&amp;quot; adlı yazımda kabaca IronPython hakkında konuşmuştuk. Ama hala yapacak çok işimiz var. &lt;/p&gt;
&lt;p&gt;IronPython için statik değil dinamik bir demiştik.Dinamik dillerin en önemli özelliklerinden biride tip tanımına ihtiyaç duymamasıdır. Yeni bir nesne oluştur, tip belirtme hatta çalışma zamanında istediğin gibi nesneye müdahale et. &lt;/p&gt;
&lt;p&gt;Biraz şu IronPython dan bahset bize. Neymiş, nasıl olmuş, kim niçin yapmış...&lt;/p&gt;
&lt;p&gt;IronPython, Microsoft tarafından Python dilinin açık kaynak kodlu bir implemantasyonu olarak geliştirildi. &lt;/p&gt;
&lt;p&gt;Hmm bir dakika. Biliyorumki .Net uygulamaları derlendikten sonra IL kodlarına çevrilir ve çalışması içinde CLR e ihtiyaç duyar. Bu durumda diyebilirmiyizki. IronPython, Pyton kodlarını CLR in anlayacağı IL kodlarına çeviriyor.&lt;/p&gt;
&lt;p&gt;Evet, IronPython motoru Python kodlarını bir assembly e derleyip CLR üzerinde çalışmasını sağlıyor.&lt;/p&gt;
&lt;p align="center"&gt;&lt;img src="img/ipEngine.png" width="550" height="390" /&gt;&lt;/p&gt;
&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="left"&gt;IronPython ın ikinci sürümü ile birlikte ekip radikal bir değişiklik yaptı. Farklı dinamik dillerin aynı çatı altında çalışmasını sağlayacak DLR (Dynamic Language Runtime) geliştirildi ve IronPython tamamen bu yapıya uyarlandı. &lt;/p&gt;
&lt;p align="left"&gt;IronPython her ne kadar bir Python implementasyonu olsada asıl amaç .Net Framework e erişim sağlamaktı. Burdan da çıkarılacağı gibi, IronPython içinden .Net tiplerine erişmek çok kolay. İster bir ASP.Net uygulaması geliştirin, ister bir Windows Form uygulaması herşey alıştığınızdan farksız bir şekilde. Hiçbir tip dönüşümü veya benzeri işlem yapmadan .Net i Python la yazmak. :D&lt;/p&gt;
&lt;p align="left"&gt;IronPython kendisi Python ın birebir implementasyonu olarak C# ile yazıldı. İlk versiyon Python 2.4, ikinci versiyon da ise 2.5 versiyonu uygulandı. Eğer daha önceden Python kullandı iseniz Python a ait tüm temel özellikleri IronPython da da kullana bildiğinizi göreceksinizdir. Özet olarak diyebilirizki IronPython=Python&lt;/p&gt;
&lt;p align="left"&gt;IronPython, Microsoft için farklı anlam taşıyan bir proje. Hem güçlü bir dilin .Net çatısı altına entegrasyonu hemde tamamen açık kaynak kodlu bir uygulama(Compiler tasarımı açısından çok güzel bir örnek.). Sanırım tüm bunlar için IronPython geliştiricisi Jim Hugunin e teşekkür etmemiz lazım.&lt;/p&gt;
&lt;p align="left"&gt;Bir sonraki yazıda Python ve .Net geliştiricileri gözünden IronPython a bir göz atacağız.&lt;/p&gt;</description>
      <pubDate>2008-08-17T03:16:36</pubDate>
    <feedburner:origLink>http://muratgenc.info/pythonla-daha-dinamik-bir-dunya-icin.aspx</feedburner:origLink></item>
    <item>
      <title>Güne yeni bir dille başlamak</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/ILpYMlty0EA/gune-yeni-bir-dille-baslamak.aspx</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Güne yeni bir dille başlamak&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;.Net in kalbini oluşturan CLR(Common Language Runtime) içinde JIT(just in time) compiler, gömülü hafıza yönetimi ve güvenlik özellikleri ile çok güçlü bir sistemdir. Bunların nasıl çalıştıklarını, neler yaptıklarını bilmeden de CLR in tüm avantajlarından çok rahat yararlanabiliriz.&lt;/P&gt;
&lt;P&gt;.Net programcılarını çoğunluğu dil olarak C#, Vb.Net veya C++ kullanmaktadır. Peki bu diller varken yeni bir dile neden ihtiyaç duyalım ki? Madem .Net teki herşeyi bu dillerle gerçekleştirebiliyorum o zaman neden?&lt;/P&gt;
&lt;P&gt;Hmm öncelikle yeni bir dil derken hedef aldığımız dilden bahsetmek daha doğru olur sanırım. Tercihimiz &lt;STRONG&gt;IronPython&lt;/STRONG&gt;. IronPython , &lt;A title=Python href="http://en.wikipedia.org/wiki/Python_(programming_language)" target=_blank&gt;Python&lt;/A&gt; dili için geliştirilmiş bir compiler dır. Eğer bir .Net geliştiricisi iseniz Python ı web geliştirmede, basit script ler yazmada kısacası .Nette yapabileceğiniz herşeyi yapabilirsiniz. Eğer bir Python geliştiricisi iseniz, buda size çok sevdiğiniz Python dilini .Net Framework ünün sağladığı avantajlar için kullanabilirsiniz demek. Peki neden hala IronPython?&lt;/P&gt;
&lt;P&gt;IronPython, .Net için geleneksel diller olarak kabul edebileceğimiz C#, Vb.Net gibi dillerle benzer özellikler sağlamasının yanında kendine has çok güçlü özelliklerede sahiptir. Statik dillere karşın IronPython &lt;A title="dinamik diller" href="http://en.wikipedia.org/wiki/Dynamic_language" target=_blank&gt;dinamik&lt;/A&gt; bir dildir. Ayrıca Python &lt;A href="http://en.wikipedia.org/wiki/Multi-paradigm_programming_language" target=_blank&gt;multi-paradigm&lt;/A&gt; bir dildir. Çok farklı programlama paradigmalarına destek vermektedir. &lt;A href="http://en.wikipedia.org/wiki/Functional_programming" target=_blank&gt;Functional programming&lt;/A&gt;, OOP, &lt;A href="http://en.wikipedia.org/wiki/Meta_programming" target=_blank&gt;meta-programming&lt;/A&gt;...&lt;/P&gt;
&lt;P&gt;Microsoft, mevcut .Net ailesindeki birçok tool ve framework ü IronPython ın hizmetine sunmuştur.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.codeplex.com/IronPythonStudio"&gt;IronPython Studio&lt;/A&gt; ile Visual Studio ya entegre edilmiştir.&lt;/LI&gt;
&lt;LI&gt;ASP.NET &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://silverlight.net/" target=_blank&gt;Silverlight&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/xna/default.aspx" target=_blank&gt;XNA&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/robotics/default.aspx" target=_blank&gt;Microsoft Robotic Kit&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;ve daha birçok yapıyı kullanmak mümkündür.&lt;/P&gt;
&lt;P&gt;Güzel, peki bu dil bana ne sağlayacak ki?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;İlk olarak yeni bir dille yeni birkaç programlama paradigmasını öğrenme fırsatı doğacak(functional programming, meta-programming)&lt;/LI&gt;
&lt;LI&gt;Farklı görüş açıları kazanıp, olaylara farklı açılardan bakmayı sağlayacak.&lt;/LI&gt;
&lt;LI&gt;ve belkide en güzeli favori .Net dilleriniz ile birlikte kullanabileceğiniz çok güçlü ve kolay bir scripting language a sahip olacaksınız. :D&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Ben hala bir fikir sahibi olamadım diyorsanız . O zaman biraz bekleticeğim. IronPython ın nasıl çalıştığını, dinamik dillerin getirdiği avantajları, basit olarak statik dillerle karşılaştırmalı örneklerinide gösterip asıl hedefimiz olan şu IronPython denen zat-ı muhterem i öğrenmeye başlayacağız.&lt;/P&gt;
&lt;P&gt;Bir daha ki güne daha dinamik başlama dileğiyle... &lt;/P&gt;</description>
      <pubDate>2008-08-16T23:40:04</pubDate>
    <feedburner:origLink>http://muratgenc.info/gune-yeni-bir-dille-baslamak.aspx</feedburner:origLink></item>
    <item>
      <title>Mind mapping</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/heIMBQI2zZk/free-mind-mapping-tool.aspx</link>
      <description>&lt;P&gt;Mind mapping için bedava bir tool. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://cayra.net/" target=_BLANK&gt;Cayra&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://cayra.net/screenshots" target=_BLANK&gt;Ekran görüntüleri&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://cayra.net/download" target=_BLANK&gt;Download&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>2008-05-12T02:40:09</pubDate>
    <feedburner:origLink>http://muratgenc.info/free-mind-mapping-tool.aspx</feedburner:origLink></item>
    <item>
      <title>IronPython ve SharpDevelop</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/fYctTgkS5tI/IronPython-ve-SharpDevelop.aspx</link>
      <description>&lt;P&gt;Visual Studio nun IronPython a sağladığı imkanların kısıtlı olması diğer Python editörlerinin IronPython a destek vermemesi eski bir dostu tekrar Program Files a eklememi sağladı. &lt;A href="http://www.icsharpcode.net/OpenSource/SD/" target=_BLANK&gt;SharpDevelop&lt;/A&gt;&amp;nbsp;sınırlıda olsa diğerlerine göre en iyi seçim gibi gözükmekte şuan.&lt;/P&gt;
&lt;P&gt;SharpDevelop a IronPython entegrasyonunun nasıl yapıldığı ve gerekli dosyayı &lt;A href="http://community.sharpdevelop.net/blogs/mattward/archive/2007/10/21/IronPythonIntegrationInSharpDevelop22.aspx" target=_BLANK&gt;burdan&lt;/A&gt;&amp;nbsp;elde edebilirsiniz.&lt;/P&gt;</description>
      <pubDate>2007-10-22T10:28:45</pubDate>
    <feedburner:origLink>http://muratgenc.info/IronPython-ve-SharpDevelop.aspx</feedburner:origLink></item>
    <item>
      <title>Datagridview leri renklendirelim kampanyası</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/nJGI9X58aYM/Datagridviewleri-renklendirelim-kampanyasi.aspx</link>
      <description>&lt;P&gt;Basit bir uygulama için yaptığım tek amacı Datagridview i biraz renklendirmek olan &lt;/P&gt;
&lt;P&gt;ve içinde de birazcık custom column bulunan bir grid kontrolünün hikayesidir bu...&lt;/P&gt;
&lt;P&gt;Tek amaç sadece column ve row header lara birazcık görsellik katmak ve birde row header lara satır numaralarını yazdırmaktı &lt;/P&gt;
&lt;P&gt;ama masumane isteklerle başlayan kontrol geliştirme hikayesi&amp;nbsp;30 un üzerinde tema ve 8 tane custom column &lt;/P&gt;
&lt;P&gt;(eklenmeyen bir kaç tane daha var . Onları kendime sakladım :D) ile son bulmak üzere terk edildi&lt;/P&gt;
&lt;P&gt;(Yoksa şunuda yapıyım şunuda ekliyim diye diye bayağı bir vakit alacaktı ...). &lt;/P&gt;
&lt;P&gt;Gelelim görüntülere...&lt;/P&gt;
&lt;P&gt;yapılmak istenen sadece buydu...&lt;/P&gt;




&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dg-1.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dg-1.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Standart grid e eklenen özellikler&lt;/P&gt;


&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dgv4.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dgv4.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;30 un üzerinde tema desteği(tema demek yanlış olur sadece arkaplan, column ve row header lara müdahale ediyor.)&lt;/P&gt;


&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dgv5.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dgv5.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;


&lt;P&gt;ve şimdide custom columnlarımız &lt;/P&gt;


&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dgv6.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dgv6.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;


&lt;P&gt;ilk column umuz Bar şeklinde grafiksel veriyi göstermek için kullanılıyor. O sütun daki tüm veriler hesaplanarak her bir sütunun yüzde cinsinden değeri belirlenip bar grafik olarak çizdiriliyor..(&lt;B&gt;&lt;FONT color=#800000 size=2&gt;ColoredDGVBarGraphColumn&lt;/B&gt;&lt;/FONT&gt;)&lt;/P&gt;

&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dgv7.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dgv7.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;ikinci sırada ilişkisel verileri göstermek için kullanılabilecek Combobox colum umuz var. Tek yapılması gereken column un FillComboBox() methoduna parametre olarak koleksiyon, dizi veya&amp;nbsp;datatable vermek.(&lt;B&gt;&lt;FONT color=#800000 size=2&gt;ColoredDGVComboBoxColumn)&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT color=#800000 size=2&gt;&lt;/B&gt;&lt;/FONT&gt;&amp;nbsp;&lt;IMG alt=http://muratgenc.info/img/dgv8.png src="http://muratgenc.info/img/dgv8.png"&gt;&lt;IMG alt=http://muratgenc.info/img/dgv9.png src="http://muratgenc.info/img/dgv9.png"&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;üçüncüsü ise tarih alanları için datetimepicker kontrolü(&lt;B&gt;&lt;FONT color=#800000 size=2&gt;ColoredDGVEditingCalendarColumn&lt;/B&gt;&lt;/FONT&gt;)&lt;/P&gt;
&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dg2.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dg2.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;and number 4. Kullanıcıdan bir dosyanın yolu alınacaksa kullanılabilecek bir kontrol. openfiledialog kontrolü ile dosyanın adı alılnıyor.(&lt;B&gt;&lt;FONT color=#800000 size=2&gt;ColoredDGVEditingFilePathColumn&lt;/B&gt;&lt;/FONT&gt;)&lt;/P&gt;
&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dgv10.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dgv10.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;beşinci sırada maskedtextbox column yer almakta. mask tanımı column un MaskA() methoduna string olarak verilmektedir.(&lt;B&gt;&lt;FONT color=#800000 size=2&gt;ColoredDGVEditingMaskedTextBoxColumn&lt;/B&gt;&lt;/FONT&gt;)&lt;/P&gt;
&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dgv11.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dgv11.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;belli aralıktaki sayıları girdirtmek için msdn den yürütülen numericupdown column u(&lt;B&gt;&lt;FONT color=#800000 size=2&gt;ColoredDGVNumericUpDownColumn&lt;/B&gt;&lt;/FONT&gt;)&lt;/P&gt;
&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dgv12.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dgv12.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;basit bir progressbar column u(&lt;B&gt;&lt;FONT color=#800000 size=2&gt;ColoredDGVProgressBarColumn&lt;/B&gt;&lt;/FONT&gt;)&lt;/P&gt;
&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dgv13.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dgv13.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;ve listedeki son kontrol gene bir msdn tabanlı column star rating(&lt;B&gt;&lt;FONT color=#800000 size=2&gt;ColoredDGVRatingColumn&lt;/B&gt;&lt;/FONT&gt;)&lt;/P&gt;
&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dgv14.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dgv14.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;bu da kendime ayırdığım bir column :D. sanırım ne olduğu açık&lt;/P&gt;
&lt;P&gt;&lt;a class="thumbnail" href="#thumb"&gt;
   &lt;img src="http://muratgenc.info/img/dg3.png" width="100px" height="66px" border="0" /&gt;
   &lt;span&gt;&lt;img src="http://muratgenc.info/img/dg3.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;indirmek isterseniz buyrun&lt;A href="http://muratgenc.info/MGColoredDGV.rar" target=_BLANK&gt;Download&lt;/A&gt; 
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Not : Kontrolü kullanmak için rar dosyası içinden çıkan dll i toolbox ınıza sürükleyip bırakın. Uygulama .Net 2.0 için geliştirilmiştir. &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Feedback için &lt;IMG alt=http://muratgenc.info/mail.png src="http://muratgenc.info/mail.png"&gt;&amp;nbsp;adresini kullanabilirsiniz.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>2007-10-12T17:55:45</pubDate>
    <feedburner:origLink>http://muratgenc.info/Datagridviewleri-renklendirelim-kampanyasi.aspx</feedburner:origLink></item>
    <item>
      <title>Language Wars</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/6Lkmf0MvsHI/Language-Wars.aspx</link>
      <description>&lt;P&gt;Greetings, and welcome to the First-And-Possibly-Last-Ever Pan-Computer-Programming-Language Conference (FAPLEPCPLC). I am joined on stage tonight by many distinguished, high-profile computer programming languages. Each is highly regarded by its devotees, and I for one look forward to hearing what each has to say.&lt;/P&gt;
&lt;P&gt;diye başlıyor ve devamı...&amp;nbsp; &lt;A href="http://davidrupp.blogspot.com/2007/10/last-language-war-language-trolling.html" target=_BLANK&gt;http://davidrupp.blogspot.com/2007/10/last-language-war-language-trolling.html&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>2007-10-12T17:18:09</pubDate>
    <feedburner:origLink>http://muratgenc.info/Language-Wars.aspx</feedburner:origLink></item>
    <item>
      <title>SQLite - bir tablo hakkında bilgi almak</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/zN5eyeV-f7k/SQLite-bir-tablo-hakkinda-bilgi-almak.aspx</link>
      <description>SQLite da bir tablo hakkında bilgi alınmak istendiğinde &lt;br&gt; &lt;blockquote&gt;&lt;font color='#0066ff'&gt;PRAGMA&lt;/font&gt;  table_info(tabloAdi)&lt;/blockquote&gt; &lt;br&gt; sorgusu size o tablodaki column ların adını, veri tipini, null değer alıp alamayacağını, default değerini ve primary key olup olmadığını verir.</description>
      <pubDate>2007-09-16T00:00:00</pubDate>
    <feedburner:origLink>http://muratgenc.info/SQLite-bir-tablo-hakkinda-bilgi-almak.aspx</feedburner:origLink></item>
    <item>
      <title>SQLite da alan bazında  küçük/büyük harf duyarlılığı</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/qLWXYpipcX8/SQLite-da-alan-bazinda-kucuk-buyuk-harf-duyarliligi.aspx</link>
      <description>Karşılaştırmalar, bir tablonuz var ve kişilere ait ad ve telefon bilgilerini tutuyorsunuz ve kişi ad alanını &lt;b&gt;UNIQUE&lt;/b&gt;
olarak işaretlediniz. Peki hiç şunu düşündünüz mü? Kullanıcı &lt;i&gt;Murat Genç&lt;/i&gt; adında bir kayıt girdi ve daha sonra 
başka biri &lt;i&gt;MURAT GENÇ&lt;/i&gt; diye bir kayıt girdi. &lt;b&gt;UNIQUE&lt;/b&gt; yaptığınız alan acaba böyle bir kayıt girişine izin verecekmidir.
Cevap evet. Peki neden; SQLite da bir alana girilen veri küçük/büyük harfe duyarlı olarak eklenir. Yani SQLite için &lt;i&gt;a&lt;/i&gt; ve &lt;i&gt;A&lt;/i&gt;
 farklı şeylerdir. Peki bunu engellemenin bir yolu var mı?  
 Veri bütünlüğü kavramı dahilinde alan bazında verinin bütünlüğünü korumak için alan tanımı yapılırken küçük/büyük harfe göre duyarlı olup olmamasını belirtebiliriz.
 COLLATE anahtar kelimesi ile bunu gerçekleştirebiliriz. SQLite 3 tip gömülü karşılaştırma tipi vardır. Biri default olarak ayarlı olan &lt;b&gt;BINARY&lt;/b&gt;, diğeri küçük/büyük harfe göre duyarlılığını kaldıran 
 &lt;b&gt;NOCASE&lt;/b&gt; üçüncüsü ise BINARY karşılaştırmanın tersi olan &lt;b&gt;REVERSE&lt;/b&gt;.
 &lt;br&gt;
 Sonuç olarak SQLite da tanımlanan bir alanda büyük/küçük harf duyarlılığını kaldırmak istiyorsak alan tanımında &lt;b&gt;COLLATE NOCASE&lt;/b&gt; ifadesini kullanmamız yeterlidir.
 
 &lt;blockquote&gt;
    &lt;font color="#0066ff"&gt;CREATE TABLE&lt;/font&gt; Kisiler (id &lt;font color="#0066ff"&gt;INTEGER PRIMARY KEY&lt;/font&gt;,ad &lt;font color="#0066ff"&gt;TEXT NOT NULL COLLATE NOCASE UNIQUE&lt;/font&gt;)
                        
 &lt;/blockquote&gt; </description>
      <pubDate>2007-09-06T02:42:45</pubDate>
    <feedburner:origLink>http://muratgenc.info/SQLite-da-alan-bazinda-kucuk-buyuk-harf-duyarliligi.aspx</feedburner:origLink></item>
    <item>
      <title>SQLite a Foreign Key desteği sağlamak</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/WcN2Bmdr4IQ/SQLite-a-Foreign-Key-destegi-saglamak.aspx</link>
      <description>&lt;style type="text/css"&gt;
        .style1
        {
            color: #0066ff;
        }
    &lt;/style&gt;
SQLite bildiğimiz gibi Foreign Key desteği yok buda bize veri bütünlüğünü sağlamada zorluklar yaşatmaktadır.
Fakat bunuda yapayda olsa sağlamak mümkün. &lt;b&gt;Trigger &lt;/b&gt; lar yardımıyla SQLite 
    veritabanımıza Foreign Key desteği sağlatabiliriz. Örnek olarak 2 tablo 
    oluşturuyoruz. Basit olarak 2 tablo birinde blog entry lerini tutacağız 
    diğerindede kategorileri. Entry ve Category tablomuz arasında ir ilişki var 
    fakat bunu SQLite tanımlayamıyoruz.&lt;br /&gt;&lt;img src="img/fk/1.png" /&gt;
    &lt;br /&gt;&lt;br /&gt;
    İlk olarak Entry tablosuna yeni bir kayıt eklendiğinde eklenilmeye çalışılan kategorinin Category tablosunda olup olmadığını kontrol edelim. Olmayan bir kategoriye ait entry eklemek istemeyiz heralde :) .&amp;nbsp; 
    Yapmamız gereken tek şey sözle ifade ettiğimiz bu koşulu SQLite a bir &lt;b&gt;INSERT 
    TRIGGER&lt;/b&gt; ile belirtmek.
    
    &lt;blockquote&gt;
      
        &lt;span class="style1"&gt;CREATE TRIGGER&lt;/span&gt; EntryInsertTrigger
        &lt;br /&gt;
        &lt;span class="style1"&gt;BEFORE INSERT ON&lt;/span&gt; Entry
        &lt;br /&gt;
        &lt;span class="style1"&gt;BEGIN &lt;/span&gt;
        &lt;br class="style1" /&gt;
        &lt;span class="style1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT CASE &lt;/span&gt;
        &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="style1"&gt;WHEN&lt;/span&gt;(&lt;span 
            class="style1"&gt;SELECT&lt;/span&gt; CategoryID &lt;span class="style1"&gt;FROM&lt;/span&gt; 
        Category &lt;span class="style1"&gt;WHERE&lt;/span&gt; CategoryID=&lt;span class="style1"&gt;NEW&lt;/span&gt;.CategoryID)
        &lt;span class="style1"&gt;IS NULL&lt;/span&gt;
        &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="style1"&gt;THEN 
        RAISE&lt;/span&gt;(&lt;span class="style1"&gt;ABORT&lt;/span&gt;,&amp;#39;Eklemeye çalıştığınız kategori 
        mevcut değil&amp;#39;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="style1"&gt;END&lt;/span&gt;;
        &lt;br /&gt;
        &lt;span class="style1"&gt;END&lt;/span&gt;;&lt;/blockquote&gt;
    
    Trigger ile Entry tablosuna bir kayıt eklenmeden hemen önce eklenmeye çalışılan CategoryID bir alt sorgu yardımıyla Category tablosunda olup olmadığı kontrol ediliyor.
    Eğer yoksa NULL döndürülüyor ve bir hata fırlatılıyor. Böylece Entry tablomuza olmayan bir kategoriye ait entry girişi yapılmasını engelledik. Ya UPDATE işlemi:
     
     &lt;blockquote&gt;
         &lt;span class="style1"&gt;CREATE TRIGGER&lt;/span&gt; EntryUpdateTrigger
        &lt;br /&gt;
        &lt;span class="style1"&gt;BEFORE UPDATE OF&lt;/span&gt; CategoryID &lt;span class="style1"&gt;ON&lt;/span&gt; Entry
        &lt;br /&gt;
        &lt;span class="style1"&gt;BEGIN &lt;/span&gt;
        &lt;br class="style1" /&gt;
        &lt;span class="style1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT CASE &lt;/span&gt;
        &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="style1"&gt;WHEN&lt;/span&gt;(&lt;span 
            class="style1"&gt;SELECT&lt;/span&gt; CategoryID &lt;span class="style1"&gt;FROM&lt;/span&gt; 
        Category &lt;span class="style1"&gt;WHERE&lt;/span&gt; CategoryID=&lt;span class="style1"&gt;NEW&lt;/span&gt;.CategoryID)
        &lt;span class="style1"&gt;IS NULL&lt;/span&gt;
        &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="style1"&gt;THEN 
        RAISE&lt;/span&gt;(&lt;span class="style1"&gt;ABORT&lt;/span&gt;,&amp;#39;Eklemeye çalıştığınız kategori 
        mevcut değil&amp;#39;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="style1"&gt;END&lt;/span&gt;;
        &lt;br /&gt;
        &lt;span class="style1"&gt;END&lt;/span&gt;; 
     &lt;/blockquote&gt;
     
     Evet sadece CategoryID güncellenmeye çalışıldığında devreye girecek bir trigger tanımlayıp INSERT trigger ında yaptığımız işlemi aynen tekrarlıyoruz.
     
     Son olarak bütünlüğü sağlamamız için bir şeye daha ihtiyacımız var. Entry tablosunda bir kaydın silinmesi Category tablosu üzerinde hiçbir etki göstermeyecektir ki zaten böyle birşey de istemiyoruz.
     Fakat ya Category tablosunda bir kayıt silinmeye çalışılırsa ne olacak. İşte eğer veri bütünlüğünü sağlamamışsak artık olmayan bir kategoriye ait entry lerimiz olacaktır.
     O zaman şöyle birşey yapsak. Category tablosundan bir kayıt silinirken o kategorinin Entry tablosunda kullanılıp kullanmadığına baksak zaten eğer kullanılmamışsa silip silmememiz bir anlam ifade etmeyecektir fakat mevcut bir kayıt varsa sorun çıkacaktır.
     Tam bu noktada devreye girip bizde sorunu çözeriz.
          &lt;blockquote&gt;
         &lt;span class="style1"&gt;CREATE TRIGGER&lt;/span&gt; CategoryDeleteTrigger
        &lt;br /&gt;
        &lt;span class="style1"&gt;BEFORE DELETE ON&lt;/span&gt; Category
        &lt;br /&gt;
        &lt;span class="style1"&gt;BEGIN &lt;/span&gt;
        &lt;br class="style1" /&gt;
        &lt;span class="style1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT CASE &lt;/span&gt;
        &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="style1"&gt;WHEN&lt;/span&gt;(&lt;span 
            class="style1"&gt;SELECT COUNT&lt;/span&gt;(CategoryID) &lt;span class="style1"&gt;FROM&lt;/span&gt; 
        Entry &lt;span class="style1"&gt;WHERE&lt;/span&gt; CategoryID=&lt;span class="style1"&gt;OLD&lt;/span&gt;.CategoryID)
        &gt; 0
        &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="style1"&gt;THEN 
        RAISE&lt;/span&gt;(&lt;span class="style1"&gt;ABORT&lt;/span&gt;,&amp;#39;Silmeye çalıştığınız kategori 
        Entry tablosunda mevcut.&amp;#39;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="style1"&gt;END&lt;/span&gt;;
        &lt;br /&gt;
        &lt;span class="style1"&gt;END&lt;/span&gt;; 
     &lt;/blockquote&gt;
     
     ve işte bu kadar küçük, şirin, sevimli ve bi o kadarda hızlı veritabanımıza trigger tabanlı foreign key desteği sağladık.Hiçde zor değilmiş değil mi ? :D</description>
      <pubDate>2007-09-04T03:46:00</pubDate>
    <feedburner:origLink>http://muratgenc.info/SQLite-a-Foreign-Key-destegi-saglamak.aspx</feedburner:origLink></item>
    <item>
      <title>Bilmukabele v2</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/boHSPAFiQmw/Bilmukabele-v2.aspx</link>
      <description>&lt;P align=center&gt;&lt;IMG alt="" hspace=0 src="http://muratgenc.info/img/bilmukabelev2.jpg" align=baseline border=0&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;FONT size=2&gt;&lt;A href="http://mavikam.net"&gt;mavikam&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>2007-09-04T00:47:00</pubDate>
    <feedburner:origLink>http://muratgenc.info/Bilmukabele-v2.aspx</feedburner:origLink></item>
    <item>
      <title>MySql5.x To SQLite3 hata ayıklama çalışmaları Episode 1</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/Ff8VPk5dcUc/MySql5-T-SQLite3-hata-ayiklama-calismalari-Episode-1.aspx</link>
      <description>       MySql den SQLite a veri çeken küçük tool adayımızda sorunlar vardı. Bu 
        sorunlardan biri de MySql den gelen &lt;b&gt;BLOB &lt;/b&gt;verinin çekilmesinde idi. İlk 
        problem çözüldü darısı diğerlerinin başına...
        
        &lt;br /&gt;
        
       &lt;table width="100%"&gt;
       &lt;tr&gt;&lt;td&gt;&lt;img src="img/blob/1.png" /&gt;&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt;test için BLOB veri tutan bir alan tanımlanıyor.&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt;&lt;img src="img/blob/2.png" /&gt;&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt;alana veri olarak bir image ekleniyor.&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt;&lt;img src="img/blob/3.png" /&gt;&lt;img src="img/blob/4.png" /&gt;&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt;ve bizim mini minicik tool adayımız açılıp önce mysql server a bağlanılıyor.Daha 
        sonra kullanılacak DB listeden seçilip Export tuşuna basılıyor.&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt;&lt;img src="img/blob/5.png" /&gt;&lt;img src="blob/6.png" /&gt;&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt; oluşacak &lt;b&gt;.db3&amp;nbsp;&lt;/b&gt; uzantılı SQLite dosyamızı kaydetceğimiz yeri 
        veriyoruz ve hepsi bu kadar.Önce MySQL de belirlenen DB nin tüm şeması çıkarılıyor ve SQLite a uyarlanıp 
        SQLite DB si hazırlanıyor.Daha sonra oluşan DB ye&lt;br /&gt;
        MySQL deki tüm veriler aktarılıyor.&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt;&lt;img src="img/blob/7.png" /&gt;&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt;ve şimdi gerçekleri görme zamanı. BLOB dışındaki alanlarda sorun yaşamamıştık. 
        Önce SQLite için hazırlanmış GUI lerden biri ile oluşan .db3 uzantılı dosyayı açıyoruz.&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt;&lt;img src="img/blob/8.png" /&gt;&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt;&lt;img src="img/blob/9.png" /&gt;&lt;/td&gt;&lt;/tr&gt;
       &lt;tr&gt;&lt;td&gt;ve sonuç ilk bug temizlendi.&lt;/td&gt;&lt;/tr&gt;
 
       &lt;/table&gt;
      
        &lt;blockquote&gt;
        Not:Sanırım eklenen resim ile sonuçta çıktı olarak verilen resim arasında küçük 
        bir fark var dimi. Evet alt kısmında okunamayan pixeller var gibi&lt;br /&gt;
        ama sorun okumada yani bizim tool cuğumuzda değil resmi eklediğimiz MySQL GUI 
        sinde :D .&lt;/blockquote&gt;</description>
      <pubDate>2007-09-03T02:07:00</pubDate>
    <feedburner:origLink>http://muratgenc.info/MySql5-T-SQLite3-hata-ayiklama-calismalari-Episode-1.aspx</feedburner:origLink></item>
    <item>
      <title>Farklı databaselerden SQLite a geçiş</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/XVG4lzBad28/Farkli-databaselerden-SQLite-a-gecis.aspx</link>
      <description>Küçük uygulamalarda SQLite a geçiş kararı verdiğim günden itibaren karşılaştığım en büyük sorun mevcut verileri SQLite aktarmak oldu. Access ve Ms SQL Server için birkaç ücretsiz araç mevcut fakat ne Postgre nede MySql için adam akıllı yada ücretsiz bir tool bulamadım.Herşeyi başkalarından beklemekde hata olurdu zaten. İş başa düşüncede madem yapıyoruz popüler tüm db leri desteklesin bari dedik demesine de tembellikten hala console da test için yazdığım tool la bu işlemi gerçekleştiriyorum. Neyse ki biran azim geldi ve en azından MySql için bir grafik arayüz yapıyım dememle zaten hazır olan framework un bir windows application a monte edilmesi sadece 1-2 dakika aldı (çok basit bir arayüz olsa da iş görüyor :D ). Tabi ilk iş ihtiyacı olan insanların kullanabilmesi için ücretsiz dağıtmaktı ama taki derinlemesine testlerde birkaç bug bulana kadar. Küçük çözümlerde örneğin bu blog gibi fazla nesne ihtiyacı duymayan db ler için sorun yok fakat daha büyük çözümlerde özellikle SQLite da henüz desteklenmeyen özellikler yüzünden sorunlar yaşanmaktadır. Umarım bunlara en kısa zamanda çözüm bulabilirsem ilk beta versiyonunu yayınlayacağım. </description>
      <pubDate>2007-09-02T01:21:00</pubDate>
    <feedburner:origLink>http://muratgenc.info/Farkli-databaselerden-SQLite-a-gecis.aspx</feedburner:origLink></item>
    <item>
      <title>SQLite da tarih işlemleri</title>
      <link>http://feedproxy.google.com/~r/MuratGenc/~3/35t-21sfoFs/SQLite-da-tarih-islemleri.aspx</link>
      <description> &lt;p&gt;
        SQLite da geçerli olan tarih formatları&lt;/p&gt;
    &lt;ul&gt;
        &lt;li&gt;
            YYYY-MM-DD
        &lt;/li&gt;
        &lt;li&gt;
       
               YYYY-MM-DD HH:MM
        &lt;/li&gt;
        &lt;li&gt;
          
               YYYY-MM-DD HH:MM:SS
        &lt;/li&gt;
        &lt;li&gt;
            
                YYYY-MM-DD HH:MM:SS.SSS
        &lt;/li&gt;
        &lt;li&gt;
           
                HH:MM
        &lt;/li&gt;
        &lt;li&gt;
            
               HH:MM:SS
        &lt;/li&gt;
        &lt;li&gt;
            
                HH:MM:SS.SSS
        &lt;/li&gt;
        &lt;li&gt;
            
                now
        &lt;/li&gt;
        &lt;li&gt;
            
                DDDD.DDDD
        &lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;
        Eğer SQLite o an ki saati kaydetmek istiyorsanız &lt;b&gt;now&lt;/b&gt; fonksiyonunu 
        kullanmanız yeterli.&lt;/p&gt;
    &lt;p&gt;
        Formatla yapmak için ise kullanılması gereken fonksiyon C tabanlı &lt;b&gt;strftime()
        &lt;/b&gt;dır.&lt;/p&gt;
    &lt;blockquote style="width: 580px"&gt;
      SELECT strftime('%m/%d/%Y', '2004-10-31');
    &lt;/blockquote&gt;
    &lt;p&gt;
    
        örnekte standart SQLite tarih formatı strftime fonksiyonu kullanılarak 
        ay-gün-yıl formatına çevrilmiştir.&lt;/p&gt;
    &lt;p&gt;
    
        &lt;table cellpadding="5" cellspacing="0" frame="hsides" rules="none"&gt;
            &lt;thead&gt;
                &lt;tr&gt;
                    &lt;th align="left"  scope="col" valign="top"&gt;
                        &lt;p &gt;
                            &amp;nbsp;&lt;/p&gt;
                    &lt;/th&gt;
                    &lt;th align="left" scope="col" valign="top"&gt;
                        &lt;p &gt;
                            &amp;nbsp;&lt;/p&gt;
                    &lt;/th&gt;
                &lt;/tr&gt;
            &lt;/thead&gt;
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%d&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &amp;nbsp;ayın
                        gün, 01-31&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
          
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%H&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        saat, 00-23&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%j&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        yılın günü, 001-366&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%J&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        Julian günü, &lt;tt&gt;DDDD.DDDD&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%m&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        ay, 00-12&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%M&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        dakika, 00-59&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%s&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        Seconds since 1970-01-01 (unix epoch)&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%S&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        Seconds, 00-59&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%w&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        haftanın günü, 0-6 (0 Pazar)&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%W&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        hafta, 01-53&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%Y&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        yıl, &lt;tt&gt;YYYY&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%%&lt;/tt&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td align="left"  valign="top"&gt;
                    &lt;p &gt;
                        &lt;tt&gt;%&lt;/tt&gt; sembol&lt;a name="ch03index518"&gt;&lt;/a&gt;&lt;a name="ch03index519"&gt;&lt;/a&gt;&lt;a 
                            name="ch03index520"&gt;&lt;/a&gt;&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
        &lt;/table&gt;
    
    &lt;/p&gt;
    &lt;p&gt;
    
        Fonksiyonla formatlama dışında tarih ekleme çıkarma işlemleride yapılabilir.
        &lt;blockquote&gt;
           SELECT strftime('%Y-%m-%d', '2007-10-31', '+7 days')&lt;br /&gt;
              2007-11-07
           &lt;br /&gt;
           SELECT strftime('%H:%M', '22:00', '+12 hours')&lt;br /&gt;
               10:00
           &lt;br /&gt;
           SELECT strftime('%Y-%m-%d %H:%M:%S','2007-01-01 00:00:00', '-1 second', '+1 year')&lt;br /&gt;
             2007-12-31 23:59:59

        &lt;/blockquote&gt;
        &lt;/p&gt;</description>
      <pubDate>2007-08-30T04:05:00</pubDate>
    <feedburner:origLink>http://muratgenc.info/SQLite-da-tarih-islemleri.aspx</feedburner:origLink></item>
  </channel>
</rss>
