Sobes.tech
Junior — Middle

Ի՞նչ խմբի մեջ է պատկերված 'Ֆաբրիկա' մոդելը ծրագրային համակարգերի նախագծման համատեքստում։

sobes.tech AI

Պատասխան AI-ից

Ցանցային "Fabrika" (Factory) մոդելը պատկանում է ստեղծման (creational) մոդելների խմբին: Նրա հիմնական գործառույթն է օբյեկտների ստեղծումը, թաքցնելով նրանց ստեղծման տրամաբանությունը և թույլ տալով հաճախորդային կոդին աշխատել աբստրակցիաների հետ, ոչ թե կոնկրետ դասերով:

Օրինակ, PHP-ում կարելի է օգտագործել գործարան՝ տարբեր տիպի օբյեկտներ ստեղծելու համար՝ կախված պարամետրերից:

interface Logger {
    public function log(string $message);
}

class FileLogger implements Logger {
    public function log(string $message) {
        // Ֆայլում գրանցում
    }
}

class DatabaseLogger implements Logger {
    public function log(string $message) {
        // Տվյալների բազայում գրանցում
    }
}

class LoggerFactory {
    public static function create(string $type): Logger {
        if ($type === 'file') {
            return new FileLogger();
        } elseif ($type === 'database') {
            return new DatabaseLogger();
        }
        throw new Exception("Անհայտ լոգգերի տեսակ");
    }
}

$logger = LoggerFactory::create('file');
$logger->log('Հաղորդագրություն');

Այս կերպ, գործարանը թաքցնում է օբյեկտների ստեղծումը և հեշտացնում է կոդի ընդլայնումը և սպասարկումը: