Junior — Middle
Farklı uygulama koşullarını dikkate alarak bir nesne oluştururken hangi tasarım deseni en iyisidir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Farklı uygulama koşullarıyla nesne oluşturmak için en iyi yöntem "Fabrika" (Factory) veya "Soyut Fabrika" (Abstract Factory) tasarım desenlerini kullanmaktır.
Bu desen, nesne oluşturma mantığını kapsüllemeye ve çalışma zamanında koşullara bağlı olarak belirli sınıfı seçmeye olanak tanır.
Basit bir fabrika yöntemi örneği:
interface LoggerInterface {
public function log(string $message);
}
class FileLogger implements LoggerInterface {
public function log(string $message) {
// dosyaya yaz
}
}
class DatabaseLogger implements LoggerInterface {
public function log(string $message) {
// veritabanına yaz
}
}
class LoggerFactory {
public static function create(string $type): LoggerInterface {
if ($type === 'file') {
return new FileLogger();
} elseif ($type === 'db') {
return new DatabaseLogger();
}
throw new Exception('Bilinmeyen logger tipi');
}
}
$logger = LoggerFactory::create('file');
$logger->log('Mesaj');
Bu şekilde, koşullara bağlı olarak nesneler esnek bir şekilde oluşturulabilir.