Junior — Middle
Soyut arayüzler ve kavramlar kullanarak tasarım desenleri uygulama deneyiminizi anlatın.
sobes.tech yapay zeka
AI'dan gelen yanıt
PHP ile çalışma deneyimimde, kodun esnekliğini ve genişletilebilirliğini artırmak için soyut arayüzlere ve kavramlara dayalı tasarım desenlerini sıkça kullandım. Örneğin, "Fabrika" (Factory) desenini uygularken, ürünler için bir arayüz oluştururdum ve somut sınıflar bu arayüzü uygularlardı. Soyut arayüz, müşteri kodunun ürünlerle, onların belirli sınıflarını bilmeden çalışmasına olanak tanır.
Örnek:
interface LoggerInterface {
public function log(string $message);
}
class FileLogger implements LoggerInterface {
public function log(string $message) {
// dosyaya yazma
}
}
class DatabaseLogger implements LoggerInterface {
public function log(string $message) {
// veritabanına yazma
}
}
function process(LoggerInterface $logger) {
$logger->log('İşlem başlıyor');
}
// Logger uygulamasını değiştirmek, process fonksiyonunu değiştirmeden kolaydır
process(new FileLogger());
Bu yaklaşım, yeni uygulamaları kolayca entegre etmeye, kodu test etmeye ve SOLID ilkelerine, özellikle Bağımlılıkların Tersine Çevrilmesi ve Açık/Kapalı ilkelerine uymaya olanak tanır.