PHP'de Bridge tasarım deseni
Feb 23 2023
Bu yapısal tasarım deseni PHP'de nasıl uygulanır?
Köprü Tasarım Modeli nedir? Köprü deseni, bir soyutlamayı uygulamasından ayıran bir tasarım desenidir, böylece ikisi bağımsız olarak değişebilir. PHP'de Bridge deseni arayüzler, soyut sınıflar ve kalıtım kullanılarak uygulanabilir.
Köprü Tasarım Modeli nedir?
Köprü deseni, bir soyutlamayı uygulamasından ayıran bir tasarım desenidir, böylece ikisi bağımsız olarak değişebilir.
PHP'de Bridge deseni arayüzler, soyut sınıflar ve kalıtım kullanılarak uygulanabilir.
İşte PHP'de Bridge deseninin bir örnek uygulaması:
<?php
interface DrawAPI {
public function drawCircle($x, $y, $radius);
}
class DrawAPI1 implements DrawAPI {
public function drawCircle($x, $y, $radius) {
echo "API1.circle at ($x,$y) radius $radius.\n";
}
}
class DrawAPI2 implements DrawAPI {
public function drawCircle($x, $y, $radius) {
echo "API2.circle at ($x,$y) radius $radius.\n";
}
}
abstract class Shape {
protected $drawAPI;
protected function __construct(DrawAPI $drawAPI) {
$this->drawAPI = $drawAPI;
}
public abstract function draw();
}
class CircleShape extends Shape {
private $x, $y, $radius;
public function __construct($x, $y, $radius, DrawAPI $drawAPI) {
parent::__construct($drawAPI);
$this->x = $x;
$this->y = $y;
$this->radius = $radius;
}
public function draw() {
$this->drawAPI->drawCircle($this->x, $this->y, $this->radius);
}
}
// Usage:
$shape1 = new CircleShape(1, 2, 3, new DrawAPI1());
$shape2 = new CircleShape(5, 7, 11, new DrawAPI2());
$shape1->draw(); // Output: API1.circle at (1,2) radius 3.
$shape2->draw(); // Output: API2.circle at (5,7) radius 11.
Soyutlamayı ( Shape) uygulamasından ( DrawAPI) ayırarak her birini bağımsız olarak değiştirebiliriz. DrawAPI3Örneğin, sınıfların hiçbirini değiştirmeden bir uygulama ekleyebiliriz Shape.
Zaman ayırdığın için teşekkürler!
yapmaktan ve takip etmekten çekinmeyin!
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































