<?xml version="1.0" encoding="iso-8859-9"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CODE PROJECT &#124; php, codeigniter, smarty, design patterns &#187; oop</title>
	<atom:link href="http://code.internet.com.tr/etiket/oop/feed/" rel="self" type="application/rss+xml" />
	<link>http://code.internet.com.tr</link>
	<description>bir gün bir gün bir çocuk</description>
	<lastBuildDate>Sun, 31 Jan 2010 11:11:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>auth sınıfı kullanımı</title>
		<link>http://code.internet.com.tr/auth-sinifi-kullanimi/</link>
		<comments>http://code.internet.com.tr/auth-sinifi-kullanimi/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 20:32:36 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proje]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[üyelik]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=436</guid>
		<description><![CDATA[bir önceki yazımızda codeignitere auth sınıfını nasıl entegre edeceğimizi anlatmıştık. şimdi bu sınıfı nasıl kullanacağımıza bakalım.

Eğer daha önce okumadıysanız auth sınıfı yazısına göz atınız

PROJE DOSYASI 
+ parse sınıfı ve kullanımı
+ auth sınıfı ve kullanımı
+ smarty sınıfı ve kullanımı


/project/system/application/controllers/user.php

Yeni kullanıcı ekleme

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    function register&#40;&#41; &#123;
        if&#40;!LOGIN&#41;
  [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/auth-sinifi-kullanimi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>auth sınıfı</title>
		<link>http://code.internet.com.tr/auth-sinifi/</link>
		<comments>http://code.internet.com.tr/auth-sinifi/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 20:24:08 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proje]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[üyelik]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=424</guid>
		<description><![CDATA[projemizde kullanıcıların, üye girişi, kayıt ve üyelik işlemleri için bir sınıf yazmamız gerekli. ben bu sınıfın projede kullanılacak ozelleklerini oluşturdum. daha sonra bu sınıfımızı geliştireceğiz. şu an için kullanılacak özelliklere bakalım.

TÜM DOSYALARI İNDİRMEK VE AUTH SINIFININ KULLANIMI İÇİN TIKLAYIN
Sınıfımızın methodları
Auth : sınıfımızın constructoru checklogin fonksiyonunu cagirir.
checkLogin : siteye giriş yapılıp yapılmadığını kontrol eder ve setDefine [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/auth-sinifi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>parse sınıfı</title>
		<link>http://code.internet.com.tr/parse-sinifi/</link>
		<comments>http://code.internet.com.tr/parse-sinifi/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 22:24:14 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proje]]></category>
		<category><![CDATA[description]]></category>
		<category><![CDATA[file_get_contents]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[parse]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[preg_match]]></category>
		<category><![CDATA[preg_match_all]]></category>
		<category><![CDATA[resim]]></category>
		<category><![CDATA[simplexml]]></category>
		<category><![CDATA[src]]></category>
		<category><![CDATA[title]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=420</guid>
		<description><![CDATA[simplexml ile ilgili daha önce yazı yazmıştım. xml ve html yi parse edecek bir sınıf yazacağız.
bu sınıfı daha sonra geliştirip projemizde kullanacağız.
sınıfımız ne yapacak.
xml dosyasından xpath ile title, link ve description alacak.
html sayfasından title, description ve resimleri çekecek.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
&#60;?php if &#40;!defined&#40;'BASEPATH'&#41;&#41; exit&#40;'No direct script access allowed'&#41;;
&#160;
class Parse &#123;
&#160;
    var $xpath;
    [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/parse-sinifi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>memento design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/memento-design-pattern/</link>
		<comments>http://code.internet.com.tr/memento-design-pattern/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 00:03:28 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[davranışsal]]></category>
		<category><![CDATA[hatıra]]></category>
		<category><![CDATA[memento]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şabonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=393</guid>
		<description><![CDATA[Memento tasarım şablonu davranışsal (behavioral patterns) tasarım şablonları gurubunda yer alır. Nesnelerin o anki durumlarını saklamamıza izin verip daha sonra tekrar istediğimiz gibi kullanmamızı sağlar.

örnek

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
&#60;?php
&#160;
class Memento &#123;
    private $page;
    function __construct&#40;$in&#41; &#123;
      $this-&#62;set&#40;$in&#41;;
    &#125;
    public function get&#40;&#41; &#123;
 [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/memento-design-pattern/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>template method design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/template-method-design-pattern/</link>
		<comments>http://code.internet.com.tr/template-method-design-pattern/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 23:28:17 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[davranışsal]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[şablon metot]]></category>
		<category><![CDATA[tasarım şablonu]]></category>
		<category><![CDATA[template method]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=389</guid>
		<description><![CDATA[Template method tasarım şablonu davranışsal (behavioral patterns) tasarım şablonları gurubunda yer alır. Template method ile bir algoritma için gerekli işlemler soyut olarak tanımlanır. Alt sınıflar algoritma için gerekli bir yada birden fazla işlemi kendi bünyelerinde implemente ederek, kullanılan algoritmanın kendi istekleri doğrultusunda çalışmasını sağlıyabilirler.

Mssql , Mysql, Oracle ile çalışabilecek bir sistem tasarladığımızı düşünelim. bunların ortak [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/template-method-design-pattern/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>command design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/command-design-pattern/</link>
		<comments>http://code.internet.com.tr/command-design-pattern/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 22:38:13 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[davranışsal]]></category>
		<category><![CDATA[komut]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=385</guid>
		<description><![CDATA[Command (komut) tasarım şablonu davranışsal (behavioral patterns) tasarım şablonları grubunda yer alır. Kullanım amacı kullanacağımız methodları nesne haline getirmek ve istediğimiz zaman çağırmak.

Küçük bir örnek vermek gerekirse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Command &#123;
	public function add&#40;&#41;  &#123;
		$command = new Read&#40;&#41;;
		$this-&#62;_commands &#91;&#93;= $command;
	&#125;
&#160;
	public funtion run&#40;&#41;
	&#123;
		foreach&#40;$this-&#62;_commands as $cmd&#41;  &#123;
			$cmd-&#62;execute&#40;&#41;;
		&#125;
	&#125;
&#125;
&#160;
$command = new Command&#40;&#41;;
$command-&#62;add&#40;&#41;;
$command-&#62;add&#40;&#41;;
$command-&#62;add&#40;&#41;;
$command-&#62;add&#40;&#41;;
$command-&#62;run&#40;&#41;; // dedigimizde tum komutları çalıştırır

evet şimdi örneğimize geçebiliriz. [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/command-design-pattern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>observer design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/observer-design-pattern/</link>
		<comments>http://code.internet.com.tr/observer-design-pattern/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 23:23:32 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[davranışsal]]></category>
		<category><![CDATA[gözlemci]]></category>
		<category><![CDATA[observer]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=381</guid>
		<description><![CDATA[Observer (gözlemci) tasarım şablonu davranışsal (behavioral paterns) tasarım şablonları grubunda yer alır. observer ile nesnede meydana gelen değişiklikleri diger sınıflara bildiririz. 

bir kullanıcı sınıfımızın olduğunu düşünelim. bu sınıfa yeni eleman eklediğimizde veya sildiğimizde database ve logger sınıflarına bu bilgiyi göndermesini istiyoruz. şimdi örneğimize bakalım.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
&#60;?php
&#160;
interface IObserver
&#123;
&#160;
        public function onChange&#40;$sender, [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/observer-design-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>state design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/state-design-pattern/</link>
		<comments>http://code.internet.com.tr/state-design-pattern/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 21:00:19 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[davranışsal]]></category>
		<category><![CDATA[durum]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[state]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=376</guid>
		<description><![CDATA[State (durum) tasarım şablonu davranışsal (Behavioral patterns) grubunda yer alır. Bir nesnenin davranışını duruma göre değiştirmesini sağlar. Nesne sınıfını değiştiriyormuş izlenimi verir.

state pattern ile ilgili örneğimize geçebiliriz. forumumuz olduğunu düşünelim va başlıklara &#8220;yeni mesaj ekleme&#8221;, &#8220;mesaj silme&#8221;, &#8220;başlığı kitleme&#8221; ve &#8220;başlık kilidini açma&#8221; özellikleri ekleyelim. 
başlık kitli olduğunda &#8211; yeni mesaj eklenemez, mesaj silinemez, başlık [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/state-design-pattern/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>proxy design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/proxy-design-pattern/</link>
		<comments>http://code.internet.com.tr/proxy-design-pattern/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 22:42:00 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[structural]]></category>
		<category><![CDATA[tasarım şablonu]]></category>
		<category><![CDATA[vekil]]></category>
		<category><![CDATA[yapısal]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=370</guid>
		<description><![CDATA[Proxy (vekil) tasarım şablonu yapısal (structural patterns) tasarım şablonları gurubunda yer alır. Kullanım amacı başka bir nesneye kontrol ve erişim için vekillik sağlamaktır.


şimdi öğreniğimizi inceleyelim.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
&#60;?php
&#160;
interface GeneratorInterface
&#123;
    public function showImage&#40;&#41;;
&#125;
&#160;
// realsubject sınıfı
&#160;
class ImageGenerator implements GeneratorInterface
&#123;
    private $image;
&#160;
    function __construct&#40;$image&#41;
    &#123;
     [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/proxy-design-pattern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>visitor design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/visitor-design-pattern/</link>
		<comments>http://code.internet.com.tr/visitor-design-pattern/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 19:40:51 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şablonu]]></category>
		<category><![CDATA[visitor]]></category>
		<category><![CDATA[ziyaretçi]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=334</guid>
		<description><![CDATA[Visitor (ziyaretçi) tasarım şablonu davranışsal (Behavioral Patterns) tasarım şablonları gurubunda yer alır. Bu tasarımın kullanılmasının amacı birleşik bir yapı üzerine yeni methodların eklenmesidir.
Bir sınıfa yeni method eklememiz gerektiğini düşünelim eğer bu programımızın tasarımını bozacak ise visitor tasarım şablonunu kullanabiliriz. Visitor tasarım şablonu işlevsellik açısından decorator tasarım şablonuna benzerlik gösterir.


visite sınıflarımız

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
abstract class Visite &#123;
   [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/visitor-design-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bridge design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/bridge-design-pattern/</link>
		<comments>http://code.internet.com.tr/bridge-design-pattern/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 20:12:32 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[bridge]]></category>
		<category><![CDATA[köprü]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[structural]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=328</guid>
		<description><![CDATA[Bridge (köprü) tasarım şablonu yapısal (structural patterns) tasarım şablonları grubunda yer alır. Bu yöntem sayesinde sınıf hiyerarşileri daha esnek bir hale getirilir. 

Şimdi grafik ile bridge tasarım şablonunun ne işe yaradığını anlamaya çalışalım.
bridge kullanmadan önce

bridge kullanarak

grafikleri inceledikten sonra örneğimize geçebiliriz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
&#60;?php
&#160;
interface MailTransport
&#123;
	public function send&#40;$from, $to, $body&#41;;
&#125;
&#160;
class SendMail implements MailTransport
&#123;
    public function send&#40;$from, $to, [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/bridge-design-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>flyweight design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/flyweight-design-pattern/</link>
		<comments>http://code.internet.com.tr/flyweight-design-pattern/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 17:55:47 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[flyweight]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[sinek siklet]]></category>
		<category><![CDATA[structural]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=323</guid>
		<description><![CDATA[Flyweight (sinek siklet) tasarım şablonu yapısal (structural patterns) tasarım şablonları grubunda yer alır. Flyweight kullanım amacı kullanılan nesne sayısının aşşağıya çekilmesidir. 1 tane nesne oluşturup farklı verileri bu nesneye method parametresi olarak göndeririz.



1
2
3
4
5
6
7
8
9
10
11
12
class TextBox&#123;
    private $name;
&#160;
    public function __construct&#40;$name, $value=''&#41;&#123;
        $this-&#62;name=$name;
  [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/flyweight-design-pattern/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>polymorphism</title>
		<link>http://code.internet.com.tr/polymorphism/</link>
		<comments>http://code.internet.com.tr/polymorphism/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 21:18:06 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[polimorfizm]]></category>
		<category><![CDATA[polymorphism]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=317</guid>
		<description><![CDATA[Polimorfizm, değişik şekilleri alabilme anlamına gelmektedir. Bir sınıfa ait nesne, o sınıfın alt sınıflarından birinin şekline bürünebilir. Bu nesneler içeride farklı çalışmalarına rağmen dışarıdan bakıldığında aynı görülür.

Şimdi bir örnek vererek konuyu anlamaya çalışalım.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class Hayvan
&#123;
	public function ses&#40;&#41;
	&#123;
		print 'Bu methodu direk cagiramazsiniz';
	&#125;
&#125;
&#160;
class Kopek extends Hayvan
&#123;
	public function ses&#40;&#41;
	&#123;
		print 'hav hav';
	&#125;
&#125;
&#160;
class Kedi extends Hayvan
&#123;
	public function ses&#40;&#41;
	&#123;
		print 'miyav';
	&#125;
&#125;
&#160;
function printSes&#40;$obj&#41;
&#123;
	if &#40;$obj [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/polymorphism/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>builder design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/builder-design-pattern/</link>
		<comments>http://code.internet.com.tr/builder-design-pattern/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 18:11:49 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[builder]]></category>
		<category><![CDATA[creational]]></category>
		<category><![CDATA[inşaatçı]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=313</guid>
		<description><![CDATA[Builder (inşaatçı) tasarım şablonu yapısal (creational patterns) tasarım şablonları grubunda yer alır. Builder kullanmaktaki amaç kompleks yapıdaki bir nesneyi parçalamak birden fazla nesne ile oluşturmaktır. 
Bir kahve makinası düşünelim parayı atıyoruz ve karşımıza seçim listesi geliyor seçim listesinde kahve, çay, ıhlamur vb. içecekler var. seçimimizi yapıyoruz makina seçtiğimiz içeceği hazırlıyor ve bize veriyor.

afiyet olsun.
şimdi yukarıdaki [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/builder-design-pattern/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iterator design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/iterator-design-pattern/</link>
		<comments>http://code.internet.com.tr/iterator-design-pattern/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 17:18:02 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[iterator]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şablonu]]></category>
		<category><![CDATA[tekrarlayıcı]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=308</guid>
		<description><![CDATA[Iterator (tekrarlayıcı) tasarım şablonu davranışsal (Behavioral Patterns) tasarım şablonları grubunda yer alır. Listede yer alan nesnelere sırayla erişebilir ve bu nesneler üzerinde işlem yapabiliriz.
php5 bu tasarım şablonunu kendi yapısındada The Standard PHP Library (SPL) altında bulundurmaktadır. SPL yi ileriki zamanlarda anlatacağım biz bu yazımızda iteratorun çalışma mantığını inceleyeceğiniz.

bu patternin aslında çok anlatılacak bir olayı yok. [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/iterator-design-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>composite design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/composite-design-pattern/</link>
		<comments>http://code.internet.com.tr/composite-design-pattern/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 06:21:14 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[composite]]></category>
		<category><![CDATA[kompozit]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[structural]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=301</guid>
		<description><![CDATA[Composite (kompozit) tasarım şablonu yapısal (Structural Patterns) tasarım şablonları grubunda yer alır. Composite bir sistemin bütünü ile parçalarının birbiriyle ilişkileri sadeleştirmek için kullanılır. 
Anlatımımız biraz garip oldu bir örnek vererek açıklayalım. Grafik çizen bir uygulama yaptığımızı düşünelim her şekil için ayrı sınıf kullanıyoruz. Kare, Diktörtgen, Üçgen, Çember vs vs. Resimi çizmek için aşağıdaki gibi bir [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/composite-design-pattern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>design patterns : tanımlar</title>
		<link>http://code.internet.com.tr/design-patterns-tanimlar/</link>
		<comments>http://code.internet.com.tr/design-patterns-tanimlar/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 18:13:55 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[genel]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=278</guid>
		<description><![CDATA[Abstract Factory (Soyut Fabrika)
Aynı sınıf ailesine ait nesnelerin oluşturulmasında kullanılır. Kullanılan altsınıfları gizliyerek, tranparen olarak kullanılmalarını mümkün kılar.
Builder (İnşaatçi)
Kompleks yapıdakı bir nesneyi değişik parçaları bir araya getirerek oluşturmada kullanılır. Birden fazla adım içeren nesne üretim sürecinde, değişik parçalar birleştirilir ve istenilen tipte nesne oluşturulur.

Factory Method (Fabrika)
Yeni nesneler oluşturmak için kullanılır. Nesnenin hangi somut sınıftan olacağına [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/design-patterns-tanimlar/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>decorator design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/decorator-design-pattern/</link>
		<comments>http://code.internet.com.tr/decorator-design-pattern/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 07:40:46 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[decorator]]></category>
		<category><![CDATA[dekoratör]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[structural]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=274</guid>
		<description><![CDATA[Decorator (dekoratör) tasarım şablonu yapısal (Structural Patterns) tasarım şablonları grubunda yer alır. Kullanım amacı sınıf yapısını değiştirmeden oluşturulan yeni nesneler ile yeni özelliklerin eklenmesidir. Decorator ile nesnemize yeni ek özellikler eklemiş olur. Bu tasarım şablonu yeni alt sınıf yaratmadan sınıfımıza yeni özellikler ekleyebilmemizi sağlar.

Bir örnek uygulama yaparak konuyu daha iyi kavrayalım. Bir otomobilimizin olduğunu düşünelim [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/decorator-design-pattern/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>facade design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/facade-design-pattern/</link>
		<comments>http://code.internet.com.tr/facade-design-pattern/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 04:43:03 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[cephe]]></category>
		<category><![CDATA[facade]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[structural]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=266</guid>
		<description><![CDATA[Facede (cephe) tasarım şablonu yapısal ( Structural Patterns ) tasarım şablonları grubunda yer alır. Facade kullanmaktaki amacımız yeni birşey yaratmak değil, işleyen sistemi daha basit bir şekilde çözmektir.
Bazı işlemleri yapmak için 4-5 tane nesne türetebiliriz ve bu nesnelerin fonksiyonlarını kullanırız. Bir işlem için yazacağımız kod 10-15 satır bulabilir ve bu işlemide sıklıkla tekrarlıyor olabilirz. Bu [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/facade-design-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>adapter design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/adapter-design-pattern/</link>
		<comments>http://code.internet.com.tr/adapter-design-pattern/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 02:22:54 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[adapter]]></category>
		<category><![CDATA[adaptör]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[structural]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=257</guid>
		<description><![CDATA[Adapter (adaptör) tasarım şablonu davranışsal (Structural Patterns) tasarım şablonudur ve var olan 2 sınıfı bir birine bağlama görevi görür. Böylece bu birbirine bağladığımız iki sınıfın eski yapılarını korumuş oluruz.
Konuyu daha iyi anlamak için örneğimize göz atalım.
Örneğimizde 2 adet sınıfımız olmalı ve biz Adapter sınıfı ile bunları bir birine bağlamalıyız. Örnek olarak 2 sınavda alınan notların [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/adapter-design-pattern/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

