06 / 07 / 2009

proxy design pattern – php

ekleyen: Emre Çevik kategori: design patterns| php

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.

proxy

ş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
<?php
 
interface GeneratorInterface
{
    public function showImage();
}
 
// realsubject sınıfı
 
class ImageGenerator implements GeneratorInterface
{
    private $image;
 
    function __construct($image)
    {
        $this->image = $image;
    }
 
    function showImage()
    {
        echo $this->image.' resmi yuklendi<br>';
    }
}
 
// proxy subject sınıfı
 
class ImageGeneratorProxy implements GeneratorInterface
{
    private $generator = null;
    private $image;
 
 
    function __construct($image)
    {
        $this->image = $image;
    }
 
    function showImage()
    {
        if($this->generator == null)
        {
            $this->generator = new ImageGenerator($this->image);
            echo "yeni sınıf olusturuldu - ";
        } else {
            echo "eski sınıf yuklendi - ";
        }
 
        $this->generator->showImage();
    }
}

örneğimizi çalıştırırsak

1
2
3
4
5
6
$proxy1 = new ImageGeneratorProxy('a');
$proxy2 = new ImageGeneratorProxy('b');
 
$proxy1->showImage();
$proxy2->showImage();
$proxy1->showImage();

ekran çıktısı

yeni sınıf olusturuldu – a resmi yuklendi
yeni sınıf olusturuldu – b resmi yuklendi
eski sınıf yuklendi – a resmi yuklendi

örnektede görüldüğü gibi ImageGeneratorProxy vekil atayarak ImageGenerator’ın showImage() fonksiyonunu çağırdık.

dosya : proxy design pattern
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • BlinkList
  • blogmarks
  • description
  • Furl
  • Ma.gnolia
  • NewsVine
  • Reddit
  • Technorati

benzer konular:

  1. flyweight design pattern – php
  2. bridge design pattern – php
  3. decorator design pattern – php
  4. design patterns
  5. composite design pattern – php
  6. facade design pattern – php
  7. design patterns (tasarım şablonları)
  8. singleton design pattern – php
  9. adapter design pattern – php
  10. builder design pattern – php


(3 votes, average: 5.00 out of 5)
Loading ... Loading ...

1 yorum

1 | can

07 / 06 / 2011 - 11:59

Avatar

Merhaba Emre kolay gelsin. Proxy pattern tekniği web servis için kullanılabilir mi?

yorum yaz

ne yapıyoruz

eğleniyoruz?

anket

design pattern yazılarını nasıl buldunuz?

sonuçlar

Loading ... Loading ...